我希望我的两个子视图之间的Vertical Spacing Constraint Constant值是屏幕高度的百分比。这样设计在所有设备上看起来都是一样的。
我如何在故事板中这样做?任何众所周知的技巧?
也许有一些技巧可以通过内容拥抱优先级,压缩阻力或优先级较低的第二个约束来实现这一目标?
答案 0 :(得分:2)
我想到的解决方案是在我的两个子视图之间引入第三个子视图 - 并使用superview在第三个子视图上设置一个方面高度约束。这两个子视图将具有空间约束,第三个子视图的常量为零。
但是 - 我不喜欢让故事板上的make-belief隐形子视图混乱。
答案 1 :(得分:1)
创建垂直空间约束的IBOutlet
。然后使用屏幕大小检查设备是什么,然后为约束的常量赋值。 EX:
if(screenSize.height == 480)
{
self.verticalspaceConstraints.constant = 100 ;//this is an example
}
//like this add your other conditions
我已经创建了一个小视频教程来获得基本想法尝试这个 small video tutorial
希望这会对你有所帮助。
答案 2 :(得分:0)
我有两个解决方案,但我正在使用第一个解决方案。
1)在两个元素之间放置一个具有所需间隙高度的UIView,并将间隙视图作为与控制器主视图成比例的高度。这样它会根据设备增加,但这个想法可能会感觉很复杂。因为要设计一个复杂的屏幕,你必须放置很多间隙视图,这将是混乱的。
2)通过将一些字符分配给约束的标识符属性,将设计时的约束标记为动态。创建NSLayoutConstraint的类别类,并在类中继承其函数并检查标识符是否以该字符开始,并修改该值,如乘以设备缩放。
答案 3 :(得分:0)