我正在制作一个视图,使其显示为从屏幕中心开始使用theCGAffineTransformMakeScale(),它在iOS 8 beta 4模拟器中工作正常但在7.1版本上它会扭曲框架图。
view.alpha = 0.0f;
view.transform = CGAffineTransformMakeScale(0.95f, 0.95f);
[UIView animateWithDuration:0.5f
delay:0.0f
usingSpringWithDamping:1.0f
initialSpringVelocity:1
options:0
animations:^{
view.alpha = 1.0f;
view.transform = CGAffineTransformMakeScale(1.0f, 1.0f);
}
completion:nil];
它在iOS 8和iOS 7.1版本的最后一个测试版中都运行良好。 其他人遇到此问题,该视图是UINavigationControl的表格。
进行一些测试似乎变换是拉伸视图帧而不是在动画期间缩放它。
经过进一步测试,我发现只有使视图变小(例如1.0到0.9)的变换才会导致它改变宽度,如果变换使视图变大(1.1到1.0),然后将其设置为当前的动画正常比例,动画没有问题。
答案 0 :(得分:3)
当转换的起点或终点具有零刻度时,有时会出现失真。尝试将初始变换设置为小但非零的,例如
view.transform = CGAffineTransformMakeScale(0.01f, 0.01f);