gpt4 book ai didi

ios - CGGradient 不立即绘制

转载 作者:行者123 更新时间:2023-11-29 00:59:10 26 4
gpt4 key购买 nike

我真的不明白这是怎么回事。我的 ImageView 上有渐变,我想在没有互联网的情况下将其删除。等网络回来了,我想再画一遍。这可能听起来很奇怪,但是当互联网在线并且我的 block 调用时,它(渐变)仅在 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];
}

}];

细节并不重要,请确保该 block 在连接出现后立即执行。

这是我执行断点时的屏幕:

enter image description here

最佳答案

任何 UI(包括 View /图层)的更新都必须在主线程上执行!

dispatch_async(dispatch_get_main_queue(), ^{
[_vFooter.layer insertSublayer:self.gradient atIndex:0];
// ...
});

关于ios - CGGradient 不立即绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37230753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com