将平移和缩放转换应用于 View 并简单地将它们设置为新框架之间有什么区别?只是可以动画转换,还是需要考虑更多的事情?
我特别考虑在更改设备方向时应该改变位置和/或大小的 View 。
谢谢
Best Answer-推荐答案 strong>
一个关键点,尤其是在您更改设备方向时,是在旋转后重新计算框架。在旋转之前设置框架不会影响旋转后的框架。在这种情况下,使用变换可能更有用,因为随后将根据变换属性重新计算帧。 Apple 的 documentation 的一个警告:
WARNING
If the transform property is not the identity transform, the value of this property is undefined and therefore should be ignored.
我发现设置比例变换通常不会产生我想要的行为;它实际上拉伸(stretch)了 View ,这(取决于 View 的设置)可以拉伸(stretch) View 中的所有图像、按钮等,并使其看起来很糟糕。
通常我真正想要的行为实际上是更改 View 上的约束。因为框架是在基于约束旋转后重新计算的,所以这种方法与设备旋转一起使用比简单地改变框架要友好得多。也可以对约束更改进行动画处理。
最后,我最近发现的一个真正有用的东西是,可以为您在界面构建器中创建的约束创建一个导出,因此您仍然可以在界面构建器中布置您的 View ,然后以编程方式更改约束。
关于ios - 转换与更改 UIView 的框架?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31169933/
|