如何在按钮单击时更改 UICollectionView 高度

Posted

技术标签:

【中文标题】如何在按钮单击时更改 UICollectionView 高度【英文标题】:How to change UICollectionView height on button click 【发布时间】:2019-06-26 19:40:12 【问题描述】:

我试图在单击按钮时更改集合视图和视图的高度。但是当我单击按钮时,视图的高度会发生变化,但集合视图的高度不会发生变化。

这是我的代码:

@IBAction func button(_ sender: Any) 
        UIView.animate(withDuration: 1, animations: 
            self.backView.frame.size.height -= 160
            self.collectionView.frame.size.height -= 160
            UIView.animate(withDuration: 0.3, delay: 0, options:     .curveEaseOut,
                                       animations:     self.view.layoutIfNeeded, completion: nil)

        , completion: nil)
    

我还能做些什么来调整集合视图的大小?

【问题讨论】:

你对这个集合视图有高度限制吗?如果是这样,您需要更改约束的常量,而不是框架 【参考方案1】:

如果您在该集合视图上使用了约束,则需要更改高度约束的常量,而不是其框架。 像这样:

@IBAction func button(_ sender: Any) 
        UIView.animate(withDuration: 1, animations: 
              self.backView.frame.size.height -= 160
              self.collectionViewHeightConstraint.constant = <value>
              self.view.layoutIfNeeded()
            , completion: nil)
        

【讨论】:

以上是关于如何在按钮单击时更改 UICollectionView 高度的主要内容,如果未能解决你的问题,请参考以下文章

单击时如何更改按钮的颜色,并在下次单击时恢复为默认颜色?

如何在单击按钮操作时更改图像

如何在按钮单击时更改地图元素的高度?

在kivy中单击时如何更改按钮的背景图像?

Swift:如何在单击提交按钮时更改 UIButton 图像

单击反应时如何更改按钮的颜色? [复制]