检测网络连接状态
2014-07-08 14:16
483 查看
http://blog.csdn.net/ysh1251685564/article/details/37526747
#import "AFNetworkReachabilityManager.h"
- (BOOL)isNetWorkReachable{
__block CGRect rect
= _nonNetworkLabel.frame; //这里的声明前面加__block,作用是在块里可以修改rect的值;
AFNetworkReachabilityManager *afNetworkReachabilityManager = [AFNetworkReachabilityManager sharedManager];
[afNetworkReachabilityManager startMonitoring]; //开启网络监视器;
[afNetworkReachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{
switch (status) {
case AFNetworkReachabilityStatusNotReachable:{
NSLog(@"网络不通:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络不通..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
case AFNetworkReachabilityStatusReachableViaWiFi:{
NSLog(@"网络通过WIFI连接:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络通过WIFI连接..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
case AFNetworkReachabilityStatusReachableViaWWAN:{
NSLog(@"网络通过流量连接:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络通过流量连接..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
default:
break;
}
}];
return [AFNetworkReachabilityManager sharedManager].isReachable;
}
- (void)hidden
{
_nonNetworkLabel.hidden = YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0)
{
self.tabBar.translucent = NO;
}
else if ([[[UIDevice currentDevice]systemVersion]floatValue]
< 7.0){
}
//self.view.backgroundColor = [UIColor redColor];
//默认选择第几个
self.selectedIndex = 0;
self.nonNetworkLabel =
[[UILabel alloc]initWithFrame:CGRectMake(80, self.view.frame.size.height - 70, 160, 20)];
_nonNetworkLabel.backgroundColor =
[UIColor blackColor];
_nonNetworkLabel.alpha = 0.6;
_nonNetworkLabel.textColor =
[UIColor whiteColor];
_nonNetworkLabel.textAlignment = NSTextAlignmentCenter;
_nonNetworkLabel.font =
[UIFont systemFontOfSize:12];
_nonNetworkLabel.hidden = YES;
[self.view addSubview:_nonNetworkLabel];
[self isNetWorkReachable];
}
#import "AFNetworkReachabilityManager.h"
- (BOOL)isNetWorkReachable{
__block CGRect rect
= _nonNetworkLabel.frame; //这里的声明前面加__block,作用是在块里可以修改rect的值;
AFNetworkReachabilityManager *afNetworkReachabilityManager = [AFNetworkReachabilityManager sharedManager];
[afNetworkReachabilityManager startMonitoring]; //开启网络监视器;
[afNetworkReachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{
switch (status) {
case AFNetworkReachabilityStatusNotReachable:{
NSLog(@"网络不通:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络不通..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
case AFNetworkReachabilityStatusReachableViaWiFi:{
NSLog(@"网络通过WIFI连接:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络通过WIFI连接..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
case AFNetworkReachabilityStatusReachableViaWWAN:{
NSLog(@"网络通过流量连接:%f",
rect.origin.y );
_nonNetworkLabel.hidden = NO;
_nonNetworkLabel.text = @"网络通过流量连接..";
[self performSelector:@selector(hidden) withObject:nil afterDelay:3];
break;
}
default:
break;
}
}];
return [AFNetworkReachabilityManager sharedManager].isReachable;
}
- (void)hidden
{
_nonNetworkLabel.hidden = YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0)
{
self.tabBar.translucent = NO;
}
else if ([[[UIDevice currentDevice]systemVersion]floatValue]
< 7.0){
}
//self.view.backgroundColor = [UIColor redColor];
//默认选择第几个
self.selectedIndex = 0;
self.nonNetworkLabel =
[[UILabel alloc]initWithFrame:CGRectMake(80, self.view.frame.size.height - 70, 160, 20)];
_nonNetworkLabel.backgroundColor =
[UIColor blackColor];
_nonNetworkLabel.alpha = 0.6;
_nonNetworkLabel.textColor =
[UIColor whiteColor];
_nonNetworkLabel.textAlignment = NSTextAlignmentCenter;
_nonNetworkLabel.font =
[UIFont systemFontOfSize:12];
_nonNetworkLabel.hidden = YES;
[self.view addSubview:_nonNetworkLabel];
[self isNetWorkReachable];
}
相关文章推荐
- [原创]Coding4Fun检测你的网络,用C#获取本机TCP、UDP状态及连接(一)
- 如何去检测网络的连接状态(C#)
- C#如何检测网络端口连接的状态
- C#如何检测网络端口连接的状态
- 实时检测网络状态及是否可以连接Internet
- 如何去检测网络的连接状态(C#)
- 如何去检测网络的连接状态(C#)
- Android 检测网络连接状态
- IOS检测网络连接状态
- [原创]Coding4Fun检测你的网络,用C#获取本机TCP、UDP状态及连接(二)
- android-检测网络连接状态 - 随心
- C#检测网络的连接状态
- android的网络是否连接状态检测及具体连接的网络类型
- 如何去检测网络的连接状态
- GTK 程序 检测 网线是否连接 本地网络状态 C语言实现
- IOS检测网络连接状态(转)
- C#检测当前网络连接状态
- IOS检测网络连接状态(转)
- Android 检测网络连接状态