ios - 将两个可变宽度 View 保持在 super View 中心的约束

标签 ios cocoa autolayout nslayoutconstraint

我在容器 View 中有两个水平并排的 View 。它们相距 8 点,但宽度可变。我想让两个 View 的中心等于容器 View 的中心,这样无论容器的大小,两个 View 一起都在屏幕的中心。

我的想法是创建两个水平约束,一个是从容器的左边缘到第一个对象的左边缘,另一个是从第二个对象的右边缘到容器的右边缘。然后我会让这两个约束彼此相等,但随着容器的大小而变化。不幸的是,我找不到办法做到这一点。我只能弄清楚如何使约束等于或大于/小于特定值。有什么办法吗?

最佳答案

您应该能够在 IB 中执行此操作。

创建一个宽度为 1 的空 View ,并设置水平约束以将其定位在容器的中心。这是一个占位符。

相对于这个中心占位符 View ,对你的两个 View 设置约束:

左 View 应该对占位符前缘具有尾随约束。

右 View 应该对占位符后缘有前导约束。

调整这两个约束的常量以获得您想要的左右 View 之间的间距。

关于ios - 将两个可变宽度 View 保持在 super View 中心的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643162/

相关文章:

ios - AutoLayout 根据 child 设置 UITableViewCell 的高度

cocoa - 如何根据WebView的内容调整其大小?

swift - 为什么 Xcode 告诉我 'stringValue' 或 'text' 不能用于类型 'NSSearchField' ?

cocoa - 在 Xcode 中选择 "create document-based application"选项时会发生什么?

ios - UIScrollView 框架在 iOS 8 和 iOS 7 上的大小不同

ios7 - UITextview 文本在 iOS7 中旋转后不显示顶行

objective-c - 为应用内购买实现不止一种类型的购买

ios - 覆盖扩展方法的替代方法

ios - 为什么助手预览失败?

ios - 3D Touch - Peek 和 Pop - 应该返回 UIViewController 但视频尚未准备好