为了增加人机交互的体验,AFNetworking使用AFNetworkActivityIndicatorManager类来实现在网络请求的时候在顶部会有个小菊花转动。先看看AFNetworkActivityIndicatorManager这个类中的属性和方法。
// 是否开启? 默认是不开启的。如果你的APP中使用了AFNetworking这个框架的话,只需要在AppDelegate的 application:didFinishLaunchingWithOptions: 方法中加入下边这行代码就行了:[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];
@property (nonatomic, assign, getter = isEnabled) BOOL enabled;
// 这个属性用来获取和设置激活状态。这个属性支持kvo。如果是设置,首先回调用自己实现的控制转态的block,如果没有实现这个block,就直接通过UIApplication来设置激活状态了。
@property (readonly, nonatomic, assign, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
//激活延时,指的是当网络开始到显示激活的一个时间间隔。默认的是1秒,为什么要设置这个呢?根据人机交互指南,有些网络很快,这个情况就不需要显示激活的那个状态了。
@property (nonatomic, assign) NSTimeInterval activationDelay;
//状态消失的延时,默认为0.17秒。
@property (nonatomic, assign) NSTimeInterval completionDelay;
// 全局的单例对象。
+ (instancetype)sharedManager;
// 增加激活的请求的数量,当数量大于0,就处于激活状态。
- (void)incrementActivityCount;
//减少数量。
- (void)decrementActivityCount;
//根据状态来自定义事件。
- (void)setNetworkingActivityActionWithBlock:(nullable void (^)(BOOL networkActivityIndicatorVisible))block;
具体用法很简单,这里只介绍一个最简单的方法,用户在使用的网络请求的时候,在顶部显示小菊花,只需一句话即可.更多用法可根据面的属性和方法自行设置
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];//显示网络请求时顶部小圆圈
return YES;
}