HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 为什么-animateWithDuration:delay:options:animations:completion:阻止UI?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直认为Core Animation在后台执行动画.当我运行此代码时,我的UI交互将被阻止,直到动画结束:

[UIView animateWithDuration:4.5 
                      delay:0 
                    options:options 
                 animations:^{
                    oldView.alpha = 0;
                    newView.alpha = 1;
                 }  
                 completion:^(BOOL finished) {
                    if (finished) {
                        [oldView removeFromSuperview];
                    }
                 }];

就像你可以看到持续时间很长,因此可以清楚地看到UI交互在动画时被阻止.

在动画开始时,UI交互开始被阻止,并且在动画结束时结束被阻止.

有没有办法同时启动UIView动画,以便不阻止UI交互?

编辑澄清:我知道UI被阻止,因为我不能与屏幕上的任何控件交互为什么这个动画运行.那些其他控件与动画内容无关,并且不在视图层次结构中的同一分支上.此动画运行时,将阻止整个UI.当我将其设置为10秒时,UI会在动画运行时被阻止10秒.在iPhone 4上使用iOS 4.2进行测试.

解决方法

查看UIView的文档,我在该方法的讨论部分中找到了这个:

因此,如果您希望继续允许用户交互,则必须在options参数中设置此常量.

大佬总结

以上是大佬教程为你收集整理的iphone – 为什么-animateWithDuration:delay:options:animations:completion:阻止UI?全部内容,希望文章能够帮你解决iphone – 为什么-animateWithDuration:delay:options:animations:completion:阻止UI?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: