我有一个非常烦人的问题。我有一个带有 UIImageView 的 ViewController。 UIImageView 应该显示幻灯片。的图像来自 NSURL,因此需要一些时间。
- (void)viewDidLoad {
[ super viewDidLoad];
[自加载图片];
}
这就是我从 NSURL 获取图像的方式。我遇到的问题是,在加载图像时我只看到黑屏。
在 -(void)loadImages
方法的开头和结尾,我实现了一个 UIActivityIndicator 来显示加载时间。
我已经尝试过 -(void)viewWillAppear
和 -(void)viewDidLayoutSubviews
但没有任何效果。
感谢帮助 珍妮丝
最佳答案
您需要做的是异步加载您的图像并在它们进入时填充它们(使用委托(delegate)或 block 回调,具体取决于您使用的 API)。您绝对永远不要在主线程上同步运行网络代码或任何其他可能长时间运行的操作。原因是 UI 在主线程上运行,如果您用自己的操作阻塞它,UI 将无法更新,您的应用将变得无响应。
无论您使用的是 Apple 的网络框架还是 AFNetworking(强烈推荐)之类的东西,都有很多方法可以用最少的工作异步进行网络连接。
关于ios - Xcode 在 View 可见后加载缓慢的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633214/