#import "AppDelegate.h"
#import <AFNetworking/AFNetworkReachabilityManager.h>
@interface AppDelegate ()
@property(nonatomic,strong)NSString *netStr;
@property(nonatomic,strong)AFNetworkReachabilityManager *manager;
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//网络监听
[self netWorkMonitoringAction];
}
-(void)netWorkMonitoringAction{
//创建网络监听管理者对象
_manager = [AFNetworkReachabilityManager sharedManager];
__weak typeof (self) weakSelf =self;
//设置监听网络状态
[_manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
weakSelf.netStr = @"未识别的网络";
break;
case AFNetworkReachabilityStatusNotReachable:{
weakSelf.netStr = @"未连接网络";
}
break;
case AFNetworkReachabilityStatusReachableViaWiFi:{
weakSelf.netStr = @"已连接wifi";
}
break;
case AFNetworkReachabilityStatusReachableViaWWAN:{
weakSelf.netStr = @"正在使用2G,3G,4G网络";
}
break;
default:
break;
}
[weakSelf drawNetWorkLayer:weakSelf.netStr];
}];
//开始监听
[_manager startMonitoring];
}
-(void)dealloc{
//停止监听网络状况.
[_manager stopMonitoring];
}
- (void)drawNetWorkLayer:(NSString *)string{
CGRect rect = [string boundingRectWithSize:CGSizeMake(ScreenWidth-16, 2000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15]} context:nil];
UILabel *netWorkLayer = [[UILabel alloc] initWithFrame:CGRectMake(ScreenWidth/2-(rect.size.width+50)/2, ScreenHeigth/2-50, rect.size.width+50, 30)];
netWorkLayer.text = string;
netWorkLayer.textColor = [UIColor whiteColor];
netWorkLayer.layer.cornerRadius = 5;
netWorkLayer.layer.masksToBounds = YES;
netWorkLayer.backgroundColor = [UIColor blackColor];
netWorkLayer.textAlignment = NSTextAlignmentCenter;
[self.window addSubview:netWorkLayer];
[UIView animateWithDuration:5.0 animations:^{
netWorkLayer.alpha = 0.0;
}];
}
网友评论