gpt4 book ai didi

ios - 如何确保 UIView 重新显示

转载 作者:行者123 更新时间:2023-11-29 03:36:33 25 4
gpt4 key购买 nike

我有一个具有 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 子类。使用应用程序的功能,可以将一个或多个顶 View 移出屏幕。发生这种情况时,缩略图的图像属性将被清空。如果其 topView 移回到屏幕上,则图像属性将恢复。

问题是图像没有按预期显示。那我该怎么做呢?

在循环中,我使用 GCD 在后台线程中设置图像属性。设置图像属性后,我调用[thumbnail setNeedsDisplay]。这就是我期望的使恢复的图像可见的效果,事实上,其中一些确实出现了,但有些却没有。我是否遇到了 GCD 问题?

该应用程序还有另一个功能,可以重新排列 topView 上的所有缩略图(它只是重新排列它们的位置)。如果我调用该函数,所有图像都会变得可见。

也许很重要,但我不这么认为,当 topView 进入 View 时,它是通过动画完成的。我认为这并不重要,因为为此类动画设置的值(使用 UIView 动画方法完成)会立即生效,即使动画需要一段时间。

我是否必须在完成 block 中调用 setNeedsDisplay?

最佳答案

您应该只调用setNeedsDisplay并从主线程设置图像。所有 UI 更改都必须在主线程上完成。

关于ios - 如何确保 UIView 重新显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099907/

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