lxt*_*lxt 19
是的,确实有这样的方式.就像这样:
[UIView setAnimationsEnabled:NO];
// Animations happen here
[UIView setAnimationsEnabled:YES];
Run Code Online (Sandbox Code Playgroud)
...这将禁用通过块触发的UIView动画和使用旧的开始/结束方法触发的动画.
也就是说,我假设您的第三方库是预编译的,否则您可以直接修改源:当然可能它做了一些奇怪的事情并以另一种方式制作动画,因此您的里程可能因此解决方案而异.
这不会禁用动画块中所做的更改:它们会立即发生.否则,您将面临发生不良事件的风险,因为您的第三方API会假设视图可能不合适.
对于iOS 7及更高版本,有这个的UIView的+ performWithoutAnimation: 。
请注意,这performWithoutAnimation对于在动画块中立即执行更改很有用,但是它不会禁用嵌套块中的动画调用,因此使用它是为了方便,但它不如setAnimationsEnabled原始答案那么健壮。
| 归档时间: |
|
| 查看次数: |
7482 次 |
| 最近记录: |