繁体   English   中英

UIPageViewController不尊重iOS 7中的顶级布局指南

[英]UIPageViewController not respecting the top layout guide in iOS 7

我正在使用页面视图控制器来翻阅一系列视图控制器,每个视图控制器都是从故事板中实例化的。 我基本上使用基于标准页面的应用程序代码作为基础,并构建了我需要的东西。 我正在翻阅的视图控制器是UITableViewController子类或包含自定义滚动视图的自定义视图控制器。

页面视图控制器嵌入在导航控制器中,但是没有一个视图控制器遵循顶部布局指南,即使在我的自定义视图控制器的情况下约束被设置到故事板中的布局指南,我认为表视图控制器将自动管理它。 我的意思是视图的内容从(0.0,0.0)开始,而不是用户可以看到的地方。 唯一有效的是实际上将视图控制器视图的帧设置为在状态栏+导航栏下面开始,但我希望滚动视图在透明导航栏下滚动。

我做错了什么或不做什么?

听起来您不希望内容视图控制器对导航和状态栏进行重叠。 如果是这种情况,请尝试将父视图控制器的edgesForExtendedLayout属性设置为UIRectEdgeNone。

// implementation of page view controller's parent view controller
- (void)viewDidLoad
{
    [super viewDidLoad];

    self.pageViewController = ...

    ...

    self.edgesForExtendedLayout = UIRectEdgeNone; // iOS 7 only
}

对我来说,设置automaticAdjustsScrollViewInsets = NO; 在UIPageViewController上修复了这个问题。 您可以在Interface Builder中的Attribute Inspector下更改它,取消选中“Adjust Scroll View Insets”。

在故事板上:

取消选中parentviewcontollers“Extend Edges”部分中的值

故事板截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM