我有一个 UIView 层次结构的应用程序,看起来像这样:
mainView (is always rotated appropriately for the user)
topView1
thumbnail1.1
thumbnail1.2
thumbnail1.3
topView2
thumbnail2.1
thumbnail2.2
thumbnail2.3
topView3
thumbnail3.1
thumbnail3.2
thumbnail3.3
有任意数量的 topView(UIView 子类),每个都有任意数量的缩略图,每个缩略图都是 UIImageView 子类。使用应用程序的功能,可以将一个或多个顶部视图移出屏幕。发生这种情况时,缩略图的图像属性将被取消。如果将其 topView 移回屏幕上,则图像属性将恢复。
问题是图像没有按预期显示。那么我该怎么做呢?
在一个循环中,我使用 GCD 在后台线程中设置图像属性。设置图像属性后,我调用[thumbnail setNeedsDisplay]
. 这就是我希望恢复的图像可见的原因,事实上,其中一些确实出现了,但有些没有。我遇到了 GCD 问题吗?
该应用程序的另一个功能是重新排列 topView 上的所有缩略图(它只是重新排列它们的位置)。如果我调用该函数,所有图像都会变得可见。
也许很重要,但我不这么认为,当 topView 进入视野时,它是通过动画完成的。我认为这并不重要,因为为此类动画设置的值(使用 UIView 动画方法完成)会立即生效,即使动画需要一段时间。
我可能必须在完成块中调用 setNeedsDisplay 吗?