ios - 如何确保图像序列实际显示在 ImageView 上?

标签 ios objective-c imageview

我有一个 ImageView,正确连接等等。我显示一个起始图像,调用一个处理它的方法,然后用新图像更新 ImageView,然后重复几次。

所以:

self.imageView.image = [UIImage imageNamed:"@startImage"];  
// some code
self.imageView.image = [self.imageManipulator grayScaleImage:self.imageView.image]; 
// some code
self.imageView.image = [self.imageManipulator adjustContrast:self.imageView.image]; 
// etc

现在每个方法都使用正确的图像(即从前一个方法返回的图像)调用,但我的问题是在所有算法完成后,只有最终图像结束实际显示。

如何才能在每个方法返回后,像我尝试做的那样放置中间图像?

最佳答案

如果您在不给主运行循环机会的情况下连续执行这三个语句,则 UI 将永远不会更新,因此您只会看到最终图像。你必须给运行循环一个运行的机会。要么用计时器延迟每个语句,要么将这些图像更改作为操作添加到 NSOperationQueue。 (根据“//一些代码”是什么,可能还有其他更合适的解决方案)

关于ios - 如何确保图像序列实际显示在 ImageView 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21741757/

相关文章:

ios - 没有为 rootViewController 调用 viewDidLoad

ios - iOS中的电话录音

ios - 使用旧版本的 React Native 的新 React Native 项目

objective-c - objective-c 中的十六进制颜色值

android - 根据手机屏幕尺寸设置 ImageView 的尺寸

android - ImageView 在一个 Activity 中显示但不在另一个 Activity 中

ios - 使用缓存实现 PFQueryTableViewController

iphone - 带小数分隔符的数字键盘

iOS - 在实现范围之外编写回调

java - 如何在 javafx 中调整 imageview 图像的大小?