11

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

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

我做错了什么或没有做什么?

4

3 回答 3

18

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

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

    self.pageViewController = ...

    ...

    self.edgesForExtendedLayout = UIRectEdgeNone; // iOS 7 only
}
于 2013-10-23T04:41:43.683 回答
8

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

于 2014-12-13T09:17:18.930 回答
4

在故事板上:

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

故事板截图

于 2015-03-19T14:42:48.937 回答