首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIView的autoresizingMask有什么作用?

UIView的autoresizingMask有什么作用?
EN

Stack Overflow用户
提问于 2011-09-08 00:36:41
回答 2查看 18.8K关注 0票数 24

在阅读了UIView在SO和developer.apple.com上的autoresizingMask后,我仍然不清楚它的用途是什么。在什么情况下需要设置这个属性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-08 00:42:28

是的,如果你不想手动调整视图的大小,通常需要设置它。请注意,它主要用于子视图(即那些不会占据整个屏幕的视图),而不是应用程序的主视图。

在以下情况下,视图通常需要调整大小:

  • the device is rotated
  • 添加了一个额外的视图(例如,广告)到视图中,因此现有的子视图的可用空间较小。

例如,假设您的视图上有两个按钮,一个在左上角,另一个在右上角。当视图从纵向切换到横向时,为了使按钮变宽,您需要将FlexibleLeftMargin设置为右按钮,将FlexibleRightMargin设置为左按钮。

编辑:当设备旋转或添加新的子视图时,如果你看到奇怪的孔或重叠,autoresizingMask也是第一件要看的东西。通常,适当地设置这些子视图的蒙版可以让您在两个方向上都获得一个漂亮的视图,而不必手动布局子视图-但通常这需要一些实验。

Edit2:(因为这还在不断获得支持)自动调整蒙版现在大多被“自动布局”所取代,后者允许对视图的大小和位置进行更灵活的约束。也就是说,对于动态添加的视图,translatesAutoresizingMaskIntoConstraints有时仍然很有用。

票数 28
EN

Stack Overflow用户

发布于 2011-09-08 00:42:39

其目的是当UIView的superview由于调整大小、方向更改、在表视图单元格中显示编辑控件等而发生变化时,可以正确地移动和调整大小。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7337439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档