我真的无法理解发生了什么。我的图像视图上有渐变,我想在没有互联网时将其删除。当互联网回来时,我想再次绘制它。这可能听起来很奇怪,但是当互联网在线和我的块调用时,它(渐变)仅在10-15秒后绘制。它是什么样的黑魔法?这是代码:
[[Reachability rac_reachabilitySignal] subscribeNext:^(Reachability *reach) {
NSLog(@"%hhd reachable internet", reach.isReachable);
NSLog(@"%hhd reachable waflya", reach.isReachableViaWiFi);
if (reach.isReachable && reach.isReachableViaWiFi){
NSLog(@"prepare to insert gradient");
[_vFooter.layer insertSublayer:self.gradient atIndex:0];
[self.view setNeedsDisplay];
[self.newsImage setNeedsDisplay];
}
}];
详细信息并不重要,请确保在连接出现后立即执行阻止。
这是我做断点时的屏幕:
答案 0 :(得分:1)
必须在主线程上对任何UI(包括视图/图层)进行更新!
dispatch_async(dispatch_get_main_queue(), ^{
[_vFooter.layer insertSublayer:self.gradient atIndex:0];
// ...
});