【问题标题】:Change size of view and move the surrounding views along更改视图大小并移动周围的视图
【发布时间】:2019-07-17 19:17:39
【问题描述】:

我有一个想用动画改变大小的视图。在该视图下方是我想要相应移动的其他视图。

我创建了一个新项目,只是为了让这个功能能够正常工作而对其进行简化。在这个项目中,我只有 viewOne、viewTwo 和一个按钮来控制它。还有一个布尔值叫做“blue”。

@IBAction func bttn() {
        if blue {
            blue = false
            UIView.animate(withDuration: 1) {
                self.viewOne.frame.size.height = 64
            }
        }else {
            blue =  true
            self.viewOne.frame.size.height = 100
        }
    }

当我点击按钮时,我希望 viewOne 的大小会增加,并且 viewTwo 会向下移动,因为视图的顶部和底部之间存在约束。

但实际结果是viewOne增加了viewTwo不动。

【问题讨论】:

    标签: swift uiviewanimation


    【解决方案1】:

    只有自动布局可以做到这一点,因为更改框架不会应用约束,您需要为 view1 创建一个高度出口然后

    self.view1Height.constant = 64
    UIView.animate(withDuration: 1) {
       self.view.layoutIfNeeded()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多