gpt4 book ai didi

iphone - UIActivityIndi​​cator 问题——有时它不会停止

转载 作者:行者123 更新时间:2023-11-28 18:14:06 27 4
gpt4 key购买 nike

我有一个运行良好的事件指示器。大多数时候。但有时它只是继续前进。代码流传甚广,所以我必须解释一下。

我在做一个计算。有时它只需要更新,所以速度很快。有时它很长,并且可能必须从服务器获取新数据。当计算需要一些时间时,事件指示器起作用。但是,当速度很快时,事件指示器会启动,但不会停止。动画有最短时间吗?还有其他人遇到过这个吗?

我将尝试根据上次完成计算的时间编写一些内容来启动 startAnimation。有什么建议吗?

更新:好的。它解决了。日志记录(如建议的那样)确实显示了对 startAnimating 的第二次调用,这导致了竞争条件:有时计算时间足够长,以至于两次调用都在停止之前到达。我现在已经消除了第二个调用并且它正在工作!!

最佳答案

你确定你从主线程调用了stopAnimating吗?必须在主线程上对 UI 进行更改。否则你将什么都体验不到,奇怪的行为或延迟。

在调用 stopAnimating 之前放置类似 NSLog 的内容,以确保它从主线程中调用。

NSLog(@"main thread? %@", [NSThread isMainThread] ? @"YES" : @"NO!");

从另一个线程执行 UI 更新通常是导致意外结果的原因,特别是对于 UIActivityIndi​​catorViews,因为它们通常与线程一起使用。

关于iphone - UIActivityIndi​​cator 问题——有时它不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8511523/

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