我想将view1的高度设置为所有设备屏幕高度的一半(当设备处于纵向模式时)
这就是我想要的样子:
所以我做了View1高度的自动布局
@IBOutlet weak var heighConstraint: NSLayoutConstraint!
我的viewwillappear函数在这里:
override func viewWillAppear(animated: Bool) {
self. heighConstraint.constant = self.view.frame.size.height / 2
}
但是当我运行我的应用程序时它不起作用。这里有什么不对?
答案 0 :(得分:18)
我知道接受的答案是正确的,但有更简单的方法 -
添加视图(以黄色显示的视图)。将其固定到三个边缘(顶部,前部和尾部)。我将其设置为0,但根据您的需要进行更改。
创建高度等于主视图的约束为
在Inspector视图中打开Constraint,并将乘数编辑为0.5。 将其设置为0.5需要高度值为mainView高度的一半。
确保FirstItem = View1和SecondItem = SuperView,如图所示。
答案 1 :(得分:7)
尝试在heightConstraint
方法中更改viewDidLayoutSubviews
的常量值。
override func viewDidLayoutSubviews() {
heightConstraint.constant = self.view.frame.size.height / 2
}
答案 2 :(得分:0)
请试一试。希望它会帮助你。下面的行将采用设备的边界,并根据它设置框架或高度。
view1.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height/2);
希望这会有所帮助!!!祝你好运......