2

正如苹果文档所说:'transform 指定应用于接收器的变换,相对于其边界的中心。

@property(nonatomic) CGAffineTransform 变换

讨论 变换的原点是 center 属性的值,或者是图层的 anchorPoint 属性(如果更改了)。(使用 layer 属性获取底层 Core Animation 图层对象。)默认值为 CGAffineTransformIdentity。

对此属性的更改可以设置动画。使用 beginAnimations:context: 类方法开始动画块,使用 commitAnimations 类方法结束动画块。默认值是中心值(或锚点,如果更改)'

我不需要动画,如何在更改 UIView 的变换属性时禁用动画?

4

2 回答 2

5

您可以通过这种方式禁用隐式动画:

[CATransaction begin];
[CATransaction setDisableActions:YES];
// or if you prefer: [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
// Your code here for which to disable the implicit animations.
[CATransaction commit];

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CATransaction_class/Introduction/Introduction.html

于 2013-09-05T14:49:41.520 回答
1

UIView animateWithDuration:它(应该)仅在您更改例如块内的变换属性时才具有动画效果。
即禁用动画可以通过简单地不更改代码的动画部分内的变换属性来实现。

您可以发布一些代码来获得您没想到的动画吗?

于 2013-09-05T14:44:23.390 回答