iphone - 通过NSNotification设置时,UIImageView.image需要花费几秒钟的时间才能显示

标签 iphone ios ipad

我有一个试图加载图像的UIImageView,如果不存在,我会打电话下载图像。下载图像后,将发送NSNotification并将UIImageView.image设置为下载的图像。这是可行的,但是设置图像后需要几秒钟的时间才能显示在UIImageView中。再次在下载图像后发送通知,因此延迟不是下载图像。

这是通知:

- (void)recieveImageDownloadUpdate:(NSNotification *)notification {

 if ([[item valueForKey:@"FlipBookPhotoID"] intValue] == imgView1.tag) {
        // this loads the image if the tag on the UIImageView matches the notification update
        imgView1.image = [Helpers getImageDownloadIfMissing:[[item valueForKey:@"PhotoName"] stringByReplacingOccurrencesOfString:@"_lg" withString:@""] withManufacturer:[item valueForKey:@"ManufacturerID"] withFlipBookID:[item valueForKey:@"FlipBookID"] withFlipBookPhotoID:[item valueForKey:@"FlipBookPhotoID"] shouldDownload:NO ];

    }
}

所有这些都在启用了页面调度的UIScrollView中使用,如何使这些图像在通知后立即显示。

最佳答案

也许您没有在主线程中设置它。所有UI工作都需要在此完成。

- (void)recieveImageDownloadUpdate:(NSNotification *)notification {
    if ([[item valueForKey:@"FlipBookPhotoID"] intValue] == imgView1.tag) {
        dispatch_async(dispatch_get_main_queue(), ^{
            imgView1.image = [....]
        });
}

}

关于iphone - 通过NSNotification设置时,UIImageView.image需要花费几秒钟的时间才能显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8644728/

相关文章:

iphone - iPhone 与 iPad/浏览器上的 HTML5 内联视频

css - 如何防止 iPad/iPhone 的 CSS 也影响旧浏览器

ios - 如何加载内存中的文件以获得更好的场景转换?

objective-c - iPad(第一代)的着色器文件警告

ios - 适用于 iOS 的 Podofo;写入PDF文件后 "Catalog object not found"

iphone - 声明委托(delegate) ivar 时出现 ARC 错误

iphone - 我的应用程序在 iPhone 和 iPad 之间安装很奇怪

ios - 如何通过编程打电话

iphone - 我在哪里可以找到并更改指定 iOS 应用程序名称的设置?

iphone - 电影背景 iPhone SDK