【发布时间】:2019-01-02 03:00:58
【问题描述】:
我正在为所有 iPhone 型号(iOS 10.0+)发布我的应用程序,并确保在所有本地化中,标签和控件不会重叠。
在一个简单的静态单元格中,给左侧的标签一个前导约束并将其垂直居中就足够了。右侧的控件也是如此,但有一个尾随约束。一切都会好的。
直到 Xcode 警告。
它要求缺少尾随或前导约束以避免在任何情况下重叠(这不会发生在我的身上)。
我通过给右侧的开关设置 10.0 的前导约束来消除警告,只是为了确保。它工作正常。 (附图第一行)
但是,同样的,分段控件会将其一直拉伸到标签的左侧到右侧。附图片第 3 行)即使我将标签的大小进一步向右增加,它也会踩下标签的宽度。
由于我想将单元格放在第二行,所以我在视图控制器中做了我认为 hacky 的事情,在这种情况下,我必须为每个屏幕尺寸指定精确的 x 值(这没关系,但我想避免)(毕竟是故事板......):
@IBOutlet weak var mySegmentedControl: UISegmentedControl!
override func viewWillLayoutSubviews() {
mySegmentedControl.frame = CGRect(x: 238.0, y: mySegmentedControl.frame.minY,
width: 121.0, height: mySegmentedControl.frame.height)
}
有没有更好的方法来实现这一点?
【问题讨论】:
-
使用大于或等于常量作为尾随值将修复警告。
-
@LaI Krishna 感谢您的帮助,我该在哪里指定?
-
您可以通过单击
My Table View Controller Scene文本附近的黄色右箭头 快速修复。 -
我明白了,只有在添加后,在这种情况下是一个尾随常数,比如 10,我才能在 Size Inspector 中对其进行编辑。
-
好的,感谢您的快速修复!这比我预期的要容易。如果可以将此作为其他任何人的答案发布在这里,我可以接受这个作为答案。
标签: ios xcode storyboard constraints