I have the following in a view controller (where webView is an instance variable of type UIWebView):
- (void)loadView
{
webView = [[UIWebView alloc]initWithFrame:self.view.frame];
[self.view addSubview:webView];
}
The first line, allocating the web view, causes a crash — I get EXC_BAD_ACCESS and a message in the console:
Warning: Unable to restore previously selected frame
I don’t understand whats causing the crash; self.view.frame is definitely a CGRect.
Since you’re using the loadView method you have to manually create your own view hierarchy. Since UIWebView is a subclass of UIView you could just write your loadView method like this:
Or you could skip using loadView and just place it in the viewDidLoad method like this:
To further elaborate on why your application is crashing, when a UIViewController is instantiated its view is not created right way. This is called lazy loading, so you are trying to access a value that doesn’t exist yet.