我已经发现低 6 位对应于视图的自动调整大小掩码,但是直接在 XIB XML 中编辑此属性有什么坏处吗? 我这样做的原因是因为无论出于何种原因,Xcode 在使用自动布局时坚持给根视图一个错误的自动调整大小掩码(通常为 292 或 256),并且无法更改此设置或根视图上的约束(我想这是有道理的,因为还没有超级视图)。 它将使视图保持纵向尺寸,即使是横向尺寸,这违背了自动布局的目的。
我想要的是相当于灵活的宽度和高度,以便根视图始终填充其父视图(通常是 UIWindow 的根视图)。 更改 NSvFlags 以使低 6 位以这种方式排列(274)似乎可以解决问题,但是有没有一种不那么麻烦的方法可以做到这一点? 我不想创建自定义视图只是让它填满屏幕。
还有,第9位的位是做什么用的? 我似乎找不到这方面的信息。
如果您手动更换笔尖,IB 可能随时将其改回来。
尝试在属性检查器的“模拟指标”部分中将大小设置为“自由形式”。 如果视图是顶级对象,则它位于视图上。 如果视图位于视图控制器中,则它位于视图控制器上。 当我将尺寸设置为“自由形式”时,我可以切换视图的任何弹簧和支柱。
如果失败,只需在代码中执行即可。
不确定其他的,但在
autoresizingMask
上,flexibleMaxX
取消设置位 4,并且 flexibleMaxY
取消设置位 6。