在阅读了UIView在SO和developer.apple.com上的autoresizingMask后,我仍然不清楚它的用途是什么。在什么情况下需要设置这个属性?
发布于 2011-09-08 00:42:28
是的,如果你不想手动调整视图的大小,通常需要设置它。请注意,它主要用于子视图(即那些不会占据整个屏幕的视图),而不是应用程序的主视图。
在以下情况下,视图通常需要调整大小:
例如,假设您的视图上有两个按钮,一个在左上角,另一个在右上角。当视图从纵向切换到横向时,为了使按钮变宽,您需要将FlexibleLeftMargin设置为右按钮,将FlexibleRightMargin设置为左按钮。
编辑:当设备旋转或添加新的子视图时,如果你看到奇怪的孔或重叠,autoresizingMask也是第一件要看的东西。通常,适当地设置这些子视图的蒙版可以让您在两个方向上都获得一个漂亮的视图,而不必手动布局子视图-但通常这需要一些实验。
Edit2:(因为这还在不断获得支持)自动调整蒙版现在大多被“自动布局”所取代,后者允许对视图的大小和位置进行更灵活的约束。也就是说,对于动态添加的视图,translatesAutoresizingMaskIntoConstraints有时仍然很有用。
发布于 2011-09-08 00:42:39
其目的是当UIView的superview由于调整大小、方向更改、在表视图单元格中显示编辑控件等而发生变化时,可以正确地移动和调整大小。
https://stackoverflow.com/questions/7337439
复制相似问题