改变视图的约束

changing constraints of a view

我有一个图像视图,它被 2 个 UIVIEWS 包围,它们是绿色的顶部栏和蓝色的侧栏。

我编写了一个点击手势 [用于隐藏视图],所以如果你点击一次,顶部和侧栏会隐藏,再次点击时,它们会重新出现。

但是,我想编写代码,如果条形可见,则图像视图应紧贴条形而不延伸,以防止剪裁。请看附图link

但是当我们点击并且条形消失时,我希望图像视图拥抱超级视图,我该怎么做?

我已经像这样对手势进行了编码:

@IBAction func test(_ sender: UITapGestureRecognizer) {

print("single tap")

if top.isHidden == false && down.isHidden == false{
    top.isHidden = true
    down.isHidden = true

    print("first")

    
} else{
    top.isHidden = false
    down.isHidden = false
 }

您可以尝试使用锚点约束。

例如,把

imageView.topAnchor.constraint(equalto: topView.bottomAnchor).isActive = true

侧视图也是如此,因此它们始终受限于图像视图边缘。