设置 UIVIew 的框架,使其不被导航栏隐藏

Set frame of UIVIew so its not hidden by navigation bar

我正在以编程方式推送到一个视图控制器,我在其中加载了一个 Web 视图,并且我设置了这样的 Web 视图

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:self.url]];
[self.webView loadRequest:urlRequest];
self.webView.frame = CGRectMake(0, 64, 320, 600);
self.webView.delegate = self;

它看起来不错,我将它的 y 设置为 64,以便它位于导航栏下方,但是当我点击网络视图或缩放时,网络视图又向下移动了 64 点?

为什么会这样?但是如果我一开始就把 web 视图设置成这个 self.webView.frame = CGRectMake(0, 0, 320, 600);,那么直到我点击它的 webivew 部分才会被导航栏隐藏。

我该如何解决这个问题?

感谢您的帮助:)

来自UIViewController Class Reference

The extended edges to use for the layout. @property(nonatomic, assign) UIRectEdge edgesForExtendedLayout

在您的 viewDidLoad 方法中:

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
   self.edgesForExtendedLayout = UIRectEdgeNone; 
}