我一直认为Core Animation在背景上执行动画。当我运行这段代码,我的UI交互被阻塞,直到在动画完成:-animateWithDuration:delay:options:animations:completion:阻止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被阻止,因为我不能交互为什么这个动画运行屏幕上的任何控制。那些其他控件与正在动画的内容并不相关,并且不在视图层次结构中的同一分支上。此动画运行时,整个用户界面都会被阻止。当我将其设置为10秒时,UI在动画运行时被阻止10秒。与iOS 4.2的iPhone 4进行测试
你怎么知道它被封锁?除非视图的alpha为零,否则它后面的所有视图都禁用了交互。 – CodaFi 2012-04-01 19:17:23
通过澄清更新了问题。 – 2012-04-01 19:24:59