看到 20px(更确切地说是 pt)的填充了吗? IB 在两种情况下会自动执行此操作,当您点击 Cmd + =
以自动调整 super View 以适合 subview 内容时,以及当您选择 Editor > Embed In > UIView、UIScrollView etc.
。
后者特别烦人,因为它需要一个步骤的时间节省,并将其变成一个重新定位的麻烦,只比手动做稍微好一点,当你将它们拖到一个层次结构中的不同位置。
还有 Embed In
选项,IB 将新的 superview 包装器的位置移动了 (-20, -20) 就好像这样会更好...
我是不是漏掉了什么?有没有办法防止这种填充?
最佳答案
我终于想出了如何去做,与这个答案相关:
Group views in Interface Builder
- 选择您希望嵌入的所有 View (通过按住 Shift 或命令单击它们)。
- 编辑器->嵌入->查看。这将创建一个带有多余 20 像素填充的 View “A”。
- 使用您想要的实际边界创建一个新 View “B”(因此所有边都比“A”小 20 像素)。
- 将旧容器 View “A”拖到新容器 View “B”中(Xcode 会在“B”中为您将其居中,并保留所有子元素的当前位置)。
- 点击旧容器 View “A”并转到编辑器->取消嵌入。
现在您的子元素已正确定位在 View “B”中,并且没有 20 像素的填充。
在 Xcode 4.5 中测试。
附言当您希望有侧边栏并同时支持 3.5"和 4"显示器时,此技术特别有用。您可以为侧边栏和主视图提供适当的自动调整大小,然后根据它们缩放 subview 。我在让 GLKit View 遵守自动调整大小规则时遇到了麻烦,所以我设置了普通 View 并在其中嵌入了 GLKKit View ,并启用了所有红色的自动调整大小条:
关于ios - 如何防止 Interface Builder 在 subview 内容周围添加 20pt 填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15385300/