我正在尝试在iOS中执行LinearLayout
之类的操作,根据布局分配权重。在这种情况下,我有4个视图(3 UIView
和一个UILabel
。我的范围根据超视图的宽度为所有视图提供相同的宽度,并根据它设置帧。 / p>
所以在viewDidLoad
我执行这个命令:
[self.view1 setFrame:CGRectMake(0 * self.view1.superview.frame.size.width/4,
self.view1.frame.origin.y,
self.view.frame.size.width/4,
self.view1.superview.frame.size.height)];
[self.view2 setFrame:CGRectMake(1 * self.view2.superview.frame.size.width/4,
self.view2.frame.origin.y,
self.view.frame.size.width/4,
self.view2.superview.frame.size.height)];
[self.view3 setFrame:CGRectMake(2 * self.view3.superview.frame.size.width/4,
self.view3.frame.origin.y,
self.view.frame.size.width/4,
self.view3.superview.frame.size.height)];
[self.label setFrame:CGRectMake(3 * self.label.superview.frame.size.width/4,
self.label.frame.origin.y,
self.view.frame.size.width/4,
self.label.superview.frame.size.height)];
但是在iPhone 6上我得到了:
你们这些人如何重新分配权重?
非常感谢你。
圣拉斐尔。
修改
我刚刚发现调用super.view.frame.size.width并没有给我全宽......为什么?
答案 0 :(得分:0)
为什么不通过将view1width设置为等于容器宽度0.25乘以其他视图来使用自动布局
这是一个展示如何进行比例约束的链接
http://makeapppie.com/2014/11/25/proportional-sizes-in-autolayout/