gpt4 book ai didi

ios - 隐藏导航栏时更改单元格高度

转载 作者:行者123 更新时间:2023-11-28 06:17:16 25 4
gpt4 key购买 nike

我有一个 UICollectionViewController,其中包含代表屏幕 View 的单元格。我这样做是为了创建一个自定义标签栏,当标签栏上的一个单元格被选中时,该标签栏会更改为不同的单元格。

我认为我需要在导航栏隐藏时更改单元格高度,但我不确定该怎么做,或者此设置是否“不好的做法”。

这是我的所有约束(menuBar 是底部的白色工具栏):

view.addSubview(menuBar)
view.addConstraintsWithFormat("H:|[v0]|", views: menuBar)
view.addConstraintsWithFormat("V:[v0(44)]", views: menuBar)
menuBar.bottomAnchor.constraint(equalTo: bottomLayoutGuide.bottomAnchor).isActive = true

collectionView?.contentInset = UIEdgeInsetsMake(0, 0, 44, 0)
collectionView?.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 44, 0)

这里我设置了每个项目的大小:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: view.frame.width, height: view.frame.height - 44)
}

因为我代码中的这一行

navigationController?.hidesBarsOnSwipe = true

导航栏正确隐藏,但我留下了这个结果(蓝色是一个单元格):

之前

enter image description here

之后

enter image description here

最佳答案

你有一个空白,因为你要求你的 Collection View 在内容底部到 Collection View 按钮之间有一个填充。这是执行此操作的代码。

collectionView?.contentInset = UIEdgeInsetsMake(0, 0, 44, 0)
collectionView?.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 44, 0)

当您尝试将 hidesBarsOnSwipe 设置为 true 时,确保您的 Collection View 对其周围环境具有正确的约束非常重要,因为当隐藏导航栏时,您的 Collection View 实际上使用了空间的导航栏。所以首先,确保将 View Controller 的 automaticallyAdjustsScrollViewInsets 设置为 false。然后,确保 Collection View 的顶部和底部约束在 Collection View 和顶部和按钮布局指南之间连接,如下所示

enter image description here

最后,删除内容插入代码,这两行代码的按钮内边距为 44。

关于ios - 隐藏导航栏时更改单元格高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com