【问题标题】:How to create a UINavigationController with a UIWebView inside of it programatically?如何以编程方式在其中创建带有 UIWebView 的 UINavigationController?
【发布时间】:2012-11-02 02:35:44
【问题描述】:
我创建了 UIViewController 的子类。
它有一个名为 *_webview 的 UIWebView 属性。
当我将 UIViewController 的 view 属性设置为 _webview 时,我将停止从我的视图中获取通知。所以我不能用委托实现任何方法,甚至不能用 viewDidLoad!我不知道为什么会这样或者我做错了什么
【问题讨论】:
标签:
ios
uiview
uiviewcontroller
uiwebview
uinavigationcontroller
【解决方案1】:
不要将视图控制器的视图设置为 Web 视图。在viewDidLoad 方法中,创建UIWebView 并将其添加为视图控制器视图的子视图。像这样的:
- (void)viewDidLoad {
[super viewDidLoad];
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
// setup rest of webView properties such a delegate, etc.
webView.autoresizingMask = UIViewAutoresizingMaskFlexibleWidth | UIViewAutoresizingMaskFlexibleHeight;
[self.view addSubview:webView];
}
这将使 web 视图填充视图控制器。此代码假定为 ARC。除非您需要从委托方法以外的任何方法引用 Web 视图,否则不需要 Web 视图属性。