在SO和developer.apple.com上阅读了有关UIView
的autoresizingMask
之后,我仍然不清楚其目的。请问在什么情况下需要设置这个属性?
是的,如果您不想手动调整视图大小,则通常需要设置它。请注意,它主要对子视图(即不占据整个屏幕的视图)非常有用,而不是您应用程序的主视图。
通常,视图可能需要调整大小,如果:
例如,假设您有一个视图,在其中有两个按钮,一个位于左上角,另一个位于右上角。为了使按钮在从纵向转换为横向时变宽,您需要将FlexibleLeftMargin设置为右侧的按钮,FlexibleRightMargin设置为左侧的按钮。
编辑:当设备旋转或添加新的子视图时,如果看到奇怪的空洞或重叠,自动调整大小掩码也是要看的第一件事情。通常,为子视图正确设置这些掩码可以使您获得漂亮的视图,而无需手动布局子视图-但通常需要进行一些实验。
编辑2:(由于此仍在收集投票)自动调整大小掩码现在大多已被“自动布局”所取代,后者允许更灵活地约束视图的大小和位置。也就是说,在动态添加视图时,translatesAutoresizingMaskIntoConstraints偶尔仍然有用。
这个目的是当UIView的父视图因为大小调整、方向变化、在tableview单元格中显示编辑控件等原因而改变时,UIView可以正确地移动和调整大小。