看到20px(相当于)填充? IB会在两种情况下自动执行此操作,当您点击Cmd + =
以自动调整超级视图以适合子视图内容时,以及选择Editor > Embed In > UIView, UIScrollView etc.
时。
后者尤其令人烦恼,因为它需要一步一步节省时间并将其转换为重新定位麻烦,这比手动操作稍微好一点,并且当您将它们拖动到一个子视图时丢失所有子视图的相对位置层次结构中的不同位置。
同样使用Embed In
选项,IB将新的超级视图包装的位置移动(-20,-20),就好像这样做更好......
我在这里遗漏了什么吗?有没有办法防止这种填充?
答案 0 :(得分:37)
我终于想出了如何做到这一点,与这个答案有关:
Group views in Interface Builder
现在,您的子元素在视图“B”中正确定位,并且没有20像素填充。
在Xcode 4.5中测试。
P.S。当您希望有侧边栏并同时支持3.5“和4”显示时,此技术尤其有用。您可以为侧边栏和主视图指定相应的自动调整大小,然后根据它们缩放子视图。我无法获得GLKit视图以尊重自动调整规则,因此我设置了普通视图并在其中嵌入了GLKKit视图并启用了所有红色自动调整条:
答案 1 :(得分:4)
真是个好消息!最终,可以将视图嵌入UIView
中,而无需进行任何调整,这要归功于Xcode 10 !
只需使用新的View Without Insets
子菜单即可。
截至目前,他们还没有对UIScrollView
做同样的事情……
答案 2 :(得分:0)
至于现在,不可能做到这一点。但是在Xcode 9上,这对我来说最有效。请注意,这样您将放弃嵌入顶视图的约束。因此,将一个视图嵌入到另一个视图中:
那就是它。