【发布时间】:2016-10-26 03:37:51
【问题描述】:
问题
您好,我遇到了以下问题。我正在通过情节提要创建标题由三个块组成。我试图让它伸展以适应所有使用自动布局的设备。 我有三张图片:
- 左角图像(具有圆形左边框)
- 中心图像(只是一条线)
- 右角图像(有圆形右边框)
第一个解决方案
我创建了以下约束: 对于左块:
- 宽度 = 152
- 高度 = 50
- 引导到superview
- 顶部到超级视图
对于中间块:
- 高度 = 50
- 拖到左侧图像 = 0
- 向右图像 = 0
- 顶部到超级视图
对于正确的图像:
- 宽度 = 152
- 高度 = 50
- 跟踪到superview
- 顶部到超级视图
当我在模拟器上运行我的应用程序时,一切正常,我在所有设备上都看到了良好的结果,但如果我使用这个约束,我会在故事板和控制台中收到很多警告:Unable to simultaneously satisfy constraints.
实际上控制台中会因此出现警告
- 左图尾随等于 0
- 右图前导等于 0
第二种解决方案
我还尝试对中间图像进行以下约束:
- 删除左图的尾随约束
- 为父视图添加与右图宽度相等的前导约束
但这个解决方案会产生更多警告
问题
是否有解决方案如何通过情节提要创建这样的标题,而不是将宽度设为常数并针对每个屏幕宽度进行更新?
【问题讨论】:
-
你是否混淆了中间图像的尾随和前导约束?
-
@Code 你所说的混合约束是什么意思?
-
我认为它应该是向左和向右。
-
@Code no,如果前导在左边,那么中间的图片会从左边开始,中间图片的结尾会和右边的图片在同一个地方跨度>
-
我的意思是中间的前导 = 左边的尾随等。你能发布你的约束图像吗?
标签: ios objective-c swift autolayout uistoryboard