首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在UIPageViewController中显示为页面时,导航栏下方的UICollectionView

在UIPageViewController中显示为页面时,导航栏下方的UICollectionView
EN

Stack Overflow用户
提问于 2014-02-21 10:28:31
回答 1查看 2.8K关注 0票数 1

我有一个带有UIPageViewController的iOS 7应用程序。它显示的每个页面都有一个UICollectionView,它占据了除导航栏之外的整个页面。iOS 7通常会调整集合视图的边缘插图,使其位于导航栏下方,并在您向上滚动导航栏时位于导航栏下方。

但是当我的集合视图显示在UIPageViewController中时,它的边缘插入并没有被调整,因为导航栏属于页面视图控制器,而不是集合视图所在的页面。我尝试在集合视图上设置边缘插图,但是它将集合视图的底部推到屏幕之外。

有人知道在iOS 7中应该如何在页面视图控制器中设置集合视图吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-24 08:44:32

我也遇到了同样的问题,出于沮丧,我最终这样做了:

在UIPageViewController中,我添加了:

代码语言:javascript
运行
复制
[self setEdgesForExtendedLayout:UIRectEdgeAll];

在集合视图viewDidLoad

代码语言:javascript
运行
复制
if ([self respondsToSelector:@selector(topLayoutGuide)]) {
    UIEdgeInsets currentInsets = self.collectionView.contentInset;
    self.collectionView.contentInset = (UIEdgeInsets){
        .top =64,
        .bottom = currentInsets.bottom,
        .left = currentInsets.left,
        .right = currentInsets.right
    };
}

在故事板中,我禁用了两个视图的所有“扩展边缘”和“调整滚动视图插入”。这并不是一个优雅的解决方案,但它是可行的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21924084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档