我在左边的单元格中有两个视图UIImageView
,右边是UIView
包含其他一些视图,如图所示
现在我想要,如果Cell的宽度是=> 300然后View2
应该在屏幕的右边,因为它在图片中,否则它应该被移动到View1
的底部
答案 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的帧设置为等于该帧。