我有一个自定义的仪表视图。还有一个标签,显示仪表绘制的数值。使用AutoLayout约束,我想将标签的baseline
与视图的bottom
对齐。
当我 ctrl 在两者之间拖动并选择对齐底部,然后尝试使用Size Inspector
进行调整时,它不会给我选择基线对于标签(仅Top
,Bottom
和Center Y
)。
是否无法约束标签的基线以匹配Storyboard Editor中另一个视图的下边缘?
我可以直接使用代码吗?那个例子会是什么样的?
答案 0 :(得分:1)
我确定故事板编辑器似乎并不想直接这样做。您可以使用以下方式以编程方式执行此操作:
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem: self.myView
attribute: NSLayoutAttributeBottom
relatedBy: NSLayoutRelationEqual
toItem: self.myLabel
attribute: NSLayoutAttributeBaseline
multiplier: 1
constant: 0];
[self.myView.superview addConstraint: constraint];
为了让故事板体验愉快,我使用了从下到下的约束并检查了Placeholder remove at build time
选项。
遗憾的是secondAttribute
的{{1}}属性是只读的。否则,您可以创建故事板约束的出口,并在NSLayoutConstraint
时调整它。
答案 1 :(得分:0)
使用以下代码 让约束= NSLayoutConstraint(item:myLabel, 属性:.bottom, relatedBy:关系, toItem:myView, 属性:.bottom, 乘数:1 常数:常数) myLabel.addConstraint(constraint)