0

从上到下共有三个视图:redView、yellowView、blueView。我想隐藏yellowView并更改blueView的约束,以使blueView低于redView。图片如下: 这张图片是原图 这张图片是我想要 的 代码如下:

private lazy var redView: UIView = {
   let redView = UIView()
    redView.backgroundColor = UIColor.red
    return redView
}()
private lazy var yellowView: UIView = {
   let yellowView = UIView()
    yellowView.backgroundColor = UIColor.yellow
    return yellowView
}()
private lazy var blueView: UIView = {
   let blueView = UIView()
    blueView.backgroundColor = UIColor.blue
    return blueView
}()
override func viewDidLoad() {
    super.viewDidLoad()
    view.addSubview(redView)
    view.addSubview(yellowView)
    view.addSubview(blueView)
    redView.snp.makeConstraints { (make) in
        make.top.left.right.equalTo(view)
        make.height.equalTo(40)
    }
    yellowView.snp.makeConstraints { (make) in
        make.top.equalTo(redView.snp.bottom)
        make.left.right.height.equalTo(redView)
    }
    blueView.snp.makeConstraints { (make) in
        make.top.equalTo(yellowView.snp.bottom)
        make.left.right.height.equalTo(yellowView)
    }

}

    if yellowView.isHidden == true {
        //how is the code?
    } else {
        //how is the code?
    }
4

1 回答 1

0

您需要为黄色视图设置高度约束,并将 IBOutlet 作为其黄色视图的高度约束,并根据 hide/show 修改其常量。

  if yellowView.isHidden == true {
            //how is the code?
            ibHeightOutletOfYellow.constant = 0; // hide here
        } else {
            //how is the code?
            ibHeightOutletOfYellow.constant = 50; // as per your needed

        }
于 2017-04-21T06:47:42.133 回答