SVProgressHUD这个类库用的比较多了。。用起来很简单。。
1.dispatch_once 创建单例
void dispatch_once( dispatch_once_t *predicate, dispatch_block_t block);
+ (SVProgressHUD*)sharedView {
static dispatch_once_t once;
static SVProgressHUD *sharedView;
dispatch_once(&once, ^ {
sharedView = [[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
});
return sharedView;
}
SVProgressHUD *svprogress = [ SVProgressHUD sharedView];
SVProgressHUD *svprogress = [ SVProgressHUD sharedView ];
- (void)showProgress:(float)progress status:(NSString*)string maskType:(SVProgressHUDMaskType)hudMaskType ;
progress>0
这里里面先是创建了一个UIControl类型的overlayView 他执行的功能就是发一个SVProgressHUDDidReceiveTouchEventNotification的通知
然后这个东西在那里接收还没有找到 //TODO
//猜测这个应该是用于你自己需要手动把这个view移掉或者进行其他工作时你可以接收这个通知
之后是创建了一个遍历数组的枚举
NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator];
按照索引号从大到小访问UIApplication里的Windows
寻找到UIWindowLevelNormal的Window把overlayView添加进去
再向下就是一些添加,修改属性的东西.
//中间还遇到了
__IPHONE_OS_VERSION_MIN_REQUIRED //当前系统支持的最小版本
__IPHONE_OS_VERSION_MAX_REQUIRED //当前系统支持的最大版本