iOS7 UIWebView - 设置导航栏下方的内容起始位置

时间:2014-03-14 11:54:56

标签: cocoa-touch ios7 uiwebview autolayout

我在故事板(IB)中设计了一个UIViewController,如下所示:

  • UIWebView拉伸以填充整个画布
  • UIWebView具有AutoLayout约束,可将所有4个边固定到superview的边缘
  • UIViewController拥有所有' Extend Edges'勾选选项,以便UIWebView位于导航栏下方
  • UIViewController具有'调整滚动视图插图'取消选中
  • UIViewController加载在UINavigationController

当VC加载时,我想要发生的UIWebView内容的顶部位于导航栏的正下方,并允许用户在导航栏下的屏幕上滚动内容(与Dropbox的方式相同)应用程序在查看PDF时工作)。我尝试了各种尝试,包括使用:

[webView.scrollView setContentInset:UIEdgeInsetsMake(64, 0, 0, 0)];
[webView.scrollView setScrollIndicatorInsets:UIEdgeInsetsMake(64, 0, 0, 0)];
[webView.scrollView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];

但是我无法让它工作 - 我最终得到的内容从屏幕顶部开始,位于导航栏下方。我想知道AutoLayout是否阻止了这项工作吗?

1 个答案:

答案 0 :(得分:3)

我有同样的问题并修复了它。解决方案非常简单:

转到故事板,选择包含UIWebView的视图控制器并打开Attributes Inspector。在这里,你会看到标题“Extend Edges”,只需取消选中“Under Top Bars”框,我就可以了!