首页 > 解决方案 > 以编程方式重新定位 UIButton

问题描述

我在 2x2 网格中有 4 个 UIButton,当我切换 SegmentedControl 时,我希望它们将自己移动到 4 行的一列中。

解决这个问题的最佳方法是什么?我需要更改当前的约束,还是有其他方法?

谢谢。

标签: swiftxcodebutton

解决方案


您可以使用UICollectionViewController.

点击UISegmentControl您可以根据条件更改sizeForItemAtIndexPath()方法下的单元格大小。

示例代码:

class YourViewController : UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        if (listViewType == "kTileView") {
            let size = collectionView.frame.width / 2
            return CGSize(width: size, height: 50)
        }
        else {
            let size = collectionView.frame.width
            return CGSize(width: size, height: 50)
        }
    }
}

推荐阅读