如何将领先空间提升为SuperView宽度的1/3

时间:2014-10-21 00:20:48

标签: ios xcode uiview uiviewcontroller interface-builder

我试图将图标设置为沿超视图宽度的1/3。

然而,当我设置宽度时,它只给我硬值作为选项。

是否可以通过界面构建​​器将对象的x位置设置为宽度的1/3?

enter image description here

由于

更新

尝试针对.width设置.leading似乎不是一个领导选项:

enter image description here

2 个答案:

答案 0 :(得分:4)

您应该在图标的centerX和superview的尾随之间进行约束。在下面的图像中,第一个和第三个图标指的是第一个和第三个图标。约束将使第一个距离左边缘1/3,而第三个约束距离右边缘1/3。

enter image description here

enter image description here

答案 1 :(得分:0)

您可以将宽度约束为乘数1/3

抱歉误读了问题。你可以做点什么

// self.imageView is a reference to the image view (or view, whatever it is)
// and self.leadingConstraint is a constraint on the imageView's leading/X constraint
// probably have to recalculate on rotation (maybe, didn't test)
CGFloat constant = self.imageView.superview.frame.size.width / 3;
self.leadingConstraint.constant = constant;
[self.view layoutIfNeeded];

在IB

不完美但是¯_(ツ)_ /¯

higher the number, further left it goes