自动布局如何将view2从右移动到底部?

时间:2017-02-19 16:50:11

标签: ios autolayout

我在左边的单元格中有两个视图UIImageView,右边是UIView包含其他一些视图,如图所示

enter image description here

现在我想要,如果Cell的宽度是=> 300然后View2应该在屏幕的右边,因为它在图片中,否则它应该被移动到View1的底部

2 个答案:

答案 0 :(得分:4)

做一件事。为该视图设置另一个约束

1)导致主视图

2)top to imageview(您可以通过右键单击视图来拖动imageview然后垂直间距来提供此约束。)

现在以编程方式为这两个约束提供出口。

并为限制提供出口: 1)从视图到图像视图 2)顶视图。

现在根据您的要求,设置if condition

e.g。

if(width => 300)

{

topOfViewToImageviewConstraint.isActive = false

leadingOfViewToMainViewConstraint.isActive = false

}

else

{

leadingOfViewToImageViewConstraint.isActive = false

 topOfviewToMainView.isActive = false

 leadingOfViewToMainViewConstraint.constant = 0

 topOfViewToImageviewConstraint.constant = 20

}

答案 1 :(得分:0)

这会奏效。我目前不在Xcode中,所以这只是一些示例代码,但这个想法会起作用。 在cellForRowAt 检查是否self.tableView.cellForRowAt(IndexPath.row).frame.width => 300 如果是,则不做任何更改,但如果找不到视图1底部的y坐标,则在(x: 0, y: botOfView1, width, height)创建一个新的矩形。然后将视图2的帧设置为等于该帧。