我正在尝试在每次互联网活动时为iOS应用程序显示加载微调器(当前使用DejalActivityView (DAV)。
我想知道我是否有正确的方法/模式:
我在Base VC上设置了一个通知观察者
self.observerStartSpinner = [[NSNotificationCenter defaultCenter] addObserverForName:kNotification_key_startspinner object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
[DejalActivityView activityViewForView:self.view withLabel:@"Loading..."];
[DejalActivityView animateWithDuration:0.25 animations:nil];
}
围绕我有互联网活动异步调用的代码块:
[[NSNotificationCenter defaultCenter] postNotificationName:kNotification_key_startspinner object:nil userInfo:nil];
// Do all the network setup necessary for asynchronous call
[[NSNotificationCenter defaultCenter] postNotificationName:kNotification_key_stopspinner object:nil];
问题
以上不起作用。但是,如果我在UIView调用交互功能的地方(在很多地方)撒上(在上面的(3)中),这确实有效。真的很奇怪。但我觉得它与UIView实际加载的时间有关(在(2)中)
问题
答案 0 :(得分:0)
我使用MBProgressHUD ... https://github.com/jdg/MBProgressHUD
效果很好......
与您相似。我启动Spinner,然后当我收到NSNotification时,我的异步过程完成后,我停止并关闭HUD。