我有两个UIViews
(A和B)被subviews
添加到UIViewcontroller
Main View
(超级视图)。
我正在尝试动画View A
(缩放/旋转/移动中心点到View B
)。如果我进行缩放/旋转,则动画是平滑的。如果我只是做中心点动画是平滑的。但是,当我尝试包括更改中心点时,View A
的旋转和缩放然后View A
的中心点动画是瞬间和不稳定的,但旋转/缩放是平滑的。
这是我的动画块:
[UIView animateWithDuration:2.0
animations:^ {
self.customView.frame = CGRectMake(self.containerSubview.frame.origin.x, self.containerSubview.frame.origin.y, 200, 300);
self.containerSubview.alpha = 0.2;
self.customView.transform = CGAffineTransformConcat(CGAffineTransformMakeRotation(M_PI / 2), CGAffineTransformMakeScale(1.5, 1.5));
self.customView.center = self.containerSubview.center;
}
completion:^(BOOL finished) {
NSLog(@"center point: %@", NSStringFromCGPoint(self.customView.center));
}
];
答案 0 :(得分:0)
在变换方面,我应该更仔细地阅读文档。由于变换取决于视图的中心点。在uiview级别,我不能同时修改变换和居中的动画。由于中心是变换的依赖项,因此必须立即设置,然后可以发生其余的动画。
解决方案是在视图层进行动画处理。使用组动画,我能够设置动画:中心点,缩放和旋转。
博客和示例项目即将推出。