我正在使用 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),然后将其动画到当前的正常比例,动画执行没有问题。
当变换的起点或终点的比例为零时,有时会出现失真。尝试将初始变换设置为小但非零的值,例如
view.transform = CGAffineTransformMakeScale(0.01f, 0.01f);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)