如下图所示,在不同的iPhone尺寸(4",4.7",5.5")上,蓝色和红色视图仍处于相同的相对位置,但仍可向下滚动获得更多空间来显示更多信息,该怎么做?
答案 0 :(得分:0)
根据@Azat的建议,我们可以使用" UIScreen.mainScreen()。bounds.height"在运行时根据不同的iPhone大小获得不同的高度,从而可以在相对固定的位置动态布局我们的视图。有关上述问题描述的示例:
对于1,2,3,4,5,我们可以在函数中编写代码并在viewDidLoad中调用它,如:
func viewLayout() {
let bottomMargin:CGFloat = 20.0
let sceneHeight = UIScreen.mainScreen().bounds.height
let topDistance = sceneHeight - stackView.frame.height - bottomMargin
let metric = ["topDistance": topDistance, "bottomMargin": 20.0]
let views = ["stackView": stackView, "orangeView": orangeView]
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-topDistance-[stackView]-bottomMargin-[orangeView]-bottomMargin-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: metric, views: views))
}
因此,无论您使用何种iPhone尺寸,堆叠视图始终布置在场景底部,距离底部20个点,您可以向下滚动以查看橙色视图。