我创建了UIViewController的子类。
它有一个名为*_webview
的UIWebView属性
当我将UIViewController的view
属性设置为_webview时,我停止从我的视图中收到通知。所以我不能用委托实现任何方法,甚至不能实现viewDidLoad!我不确定为什么会发生这种情况或者我做错了什么
答案 0 :(得分:2)
不要将视图控制器的视图设置为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视图属性。