swift - 以编程方式重新定位 UIButton
问题描述
我在 2x2 网格中有 4 个 UIButton,当我切换 SegmentedControl 时,我希望它们将自己移动到 4 行的一列中。
解决这个问题的最佳方法是什么?我需要更改当前的约束,还是有其他方法?
谢谢。
解决方案
您可以使用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)
}
}
}
推荐阅读
- python - Python 中是否有相当于 tkinter.after() 的 Gtk?
- python - 如何查找特定数据在数组中的哪条记录?
- objective-c - dispatch_apply 让一个线程“挂起”
- php - 在 docker-compose 中自动运行工匠命令的正确方法
- powerbi - DAX 如何获取行号值
- haskell - 在类似 Map 的结构中将列表列表与命名索引相结合
- jupyter-notebook - 在 Jupyter Notebook 中执行单元之前设置时间延迟
- python - 如何在openpyxl中获取值以及单元格编号?
- docker - Docker:无法访问 Minio Web 浏览器
- ros - 如何订阅“/scan”主题,修改消息并再次发布到“/scan”主题?