首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在Interface Builder中移动自动布局约束吗?

我可以在Interface Builder中移动自动布局约束吗?
EN

Stack Overflow用户
提问于 2012-06-30 16:12:12
回答 3查看 2.7K关注 0票数 5

有时自动布局约束捕捉到错误的锚点-就像当我想要将一个控件锚定到它上面的控件,而自动布局约束锚定到窗口的底部时。有没有移动约束的方法?ASCII艺术应该更清楚地说明这一点。这就是我所拥有的:

代码语言:javascript
复制
+------------------------+
|                        |
| [x] Some checkbox      |
|                        |
| [x] Another checkbox   |
|     |                  |
|     | ← autolayout     |
|     |   constraint     |
|     |                  |
+-----+------------------+

这就是我想要的:

代码语言:javascript
复制
+------------------------+
|                        |
| [x] Some checkbox      |
|     | ← A.C.           |
| [x] Another checkbox   |
|                        |
|                        |
|                        |
|                        |
+------------------------+

我可以通过向上移动下面的复选框将约束锚定到上面的复选框,但这不是我想要的,我希望垂直空间更大。(复选框仅用于说明,我的实际用例具有不同的视图。)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-05 22:16:49

  1. 在界面构建器的右下角选择2 checkboxes
  2. Click "H“图标
  3. 选择Vertical builder

现在选择无用的约束并将其删除:

票数 7
EN

Stack Overflow用户

发布于 2012-07-31 03:04:49

试着移动下面的复选框,让它在它自己和上面的复选框之间有一个支撑。然后单击支柱,然后单击右侧面板中的属性框。在那里,您应该能够取消选中“标准”框,并将其设置为您想要的间距。

票数 1
EN

Stack Overflow用户

发布于 2012-08-29 02:28:22

不能,您不能移动约束或将其更改为相对于其他视图。正如David Chu所说,您可以移动视图,直到它自动获得您想要的约束类型,然后更改约束的值以将视图移回您想要的位置。但是,您也可以手动创建所需的约束,然后删除不需要的自动约束(有时会有一些困难)。下面是你的案例:

选中这两个复选框,然后使用Editor > Pin > Vertical Spacing菜单添加所需的约束(或使用IB layout视图右下角的3个按钮中的中间按钮获得相同的菜单)。在这一点上,不需要的自动约束应该变得多余,并从紫色切换到蓝色。然后,可以选择它并将其删除。每种约束都可以使用这些Pin和Align菜单中的项目来创建。

我发现获得你想要的约束总是可能的,尽管这是一场与Xcode添加的自动约束的战斗,有时还很难找到为什么它们没有从紫色转换为蓝色。例如,在添加一些自定义约束后直接移动视图,您会发现Xcode可能已经删除了您添加的大多数约束,并重新添加了自动约束,即使是窗口中的其他看似随机的视图,而不仅仅是您移动的视图!祝好运。

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

https://stackoverflow.com/questions/11272587

复制
相关文章

相似问题

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