0
编程方式(因为Interface Builder是由Satan设计的),如何以同样的方式将一个视图对象置于另一个视图对象之下?以编程方式将视图对象放置在最近的邻居下方
如果这是第一个视图对象:
titleLabel.frame.size.width = view.frame.width - 32
titleLabel.frame.origin.x = CGFloat(16)
titleLabel.frame.origin.y = CGFloat(titleMargin + 32)
我怎么会第二视图对象位置正下方呢?我必须创建一个函数来获取它上面的所有东西的高度,并将其设置为顶部边距?看起来很粗糙。
subtitleLabel.frame.size.width = view.frame.width - 32
subtitleLabel.frame.origin.x = CGFloat(16)
subtitleLabel.frame.origin.y = ???
我预计解决方案比例子的设计要复杂得多。
使用视图之间的关系而不是绝对坐标是采用基于约束的布局的好理由。 –
这就是计划。 –
不,您可以在代码中创建约束。请参阅:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html –