我有一个带有UIPageViewController的iOS 7应用程序。它显示的每个页面都有一个UICollectionView,它占据了除导航栏之外的整个页面。iOS 7通常会调整集合视图的边缘插图,使其位于导航栏下方,并在您向上滚动导航栏时位于导航栏下方。
但是当我的集合视图显示在UIPageViewController中时,它的边缘插入并没有被调整,因为导航栏属于页面视图控制器,而不是集合视图所在的页面。我尝试在集合视图上设置边缘插图,但是它将集合视图的底部推到屏幕之外。
有人知道在iOS 7中应该如何在页面视图控制器中设置集合视图吗?
发布于 2014-02-24 08:44:32
我也遇到了同样的问题,出于沮丧,我最终这样做了:
在UIPageViewController中,我添加了:
[self setEdgesForExtendedLayout:UIRectEdgeAll];在集合视图viewDidLoad中
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
};
}在故事板中,我禁用了两个视图的所有“扩展边缘”和“调整滚动视图插入”。这并不是一个优雅的解决方案,但它是可行的。
https://stackoverflow.com/questions/21924084
复制相似问题