【发布时间】:2011-06-13 00:54:01
【问题描述】:
我注意到使用 UIView 类方法的 UIView 动画似乎或多或少地将程序置于“暂停”状态,直到它们完成。
有没有办法让动画开始,例如,持续 3 秒,在动画期间,程序的其他方面仍在运行,接受触摸事件等?
【问题讨论】:
-
其他方面可以在另一个线程(默认 UI 线程除外)上运行,但我需要查看您的代码才能提出其他建议。
-
动画期间线程和运行循环都不会被阻塞,只需触摸事件即可。 (并且仅在默认情况下)
-
啊,好的。这可能就是我所看到的。所以你根本无法在动画期间接收触摸事件?如果一个小的 UIView 在几秒钟内进行 alpha 淡入淡出,程序将不会接受屏幕上其他任何地方的触摸事件,按设计?
-
如果您设置我在下面的答案中提到的选项,您可以。如果动画阻塞了整个屏幕或只是动画视图,我不记得我的头顶,但无论哪种方式我都不会感到惊讶。