晚上好,
我使用CGAffineTransformScale缩小UIView。
[UIView animateWithDuration:0.3 animations:^{
gridContainerView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.2, 0.2);
gridContainerView.alpha = 0.0;
} completion:^(BOOL finished) {
// show UIView B
}];
并将其缩放回原始尺寸:
[UIView animateWithDuration:0.3 animations:^{
gridContainerView.transform = CGAffineTransformIdentity;
gridContainerView.alpha = 1.0;
} completion:^(BOOL finished) {
// remove UIView B
}];
这很好用。 gridContainerView缩小到屏幕中心。但是,如果我更改设备方向(到a.e. landscape),则中心会以某种方式向左下方移动。一旦改变方向,转换就不再是屏幕的中心了。 解决这个问题的唯一方法是释放gridContainerView并重新分配/初始化它。但不幸的是,现在这不是我的选择。
真的很感激任何帮助。