我有一个UICollectionView,我想把它放在导航栏下面。基本上,我想让它忽略整个顶部安全区域,但仍然希望它尊重底部安全区域,因为那里有一个标签栏。这是它目前的样子:
但是我希望第一个单元格直接从屏幕的最顶部开始,在(半透明的)导航栏和状态栏下面。
如果我设置了collectionView.contentInsetAdjustmentBehavior = .never
,那么顶部的部分工作正常,但是集合视图内容的底部被标签栏隐藏了--可以说你不能一直滚动到底部。所以我必须再次手动添加底部插入。我如何获得标签栏的高度,包括任何底部安全区域的设备上有家庭酒吧?或者有没有更好的方法告诉collectionview只忽略顶部区域的内容插入调整?
1条答案
按热度按时间u3r8eeie1#
在将调整行为设置为
.never
之后,您只需要手动设置集合视图的底部内容插入。正确的插入(包括标签栏和任何主栏)可以在
safeAreaInsets
中找到。您需要在设置了
safeAreaInsets
(如viewDidLayoutSubviews
)的时候执行此操作。据我所知,它曾经是可能的,只需调整
edgesForExtendedLayout
属性的包含视图控制器,但这是逐步淘汰时,安全区被引入iOS 11我相信。