我在视图控制器中具有以下内容(其中webView是UIWebView类型的实例变量):
- (void)loadView { webView = [[UIWebView alloc]initWithFrame:self.view.frame]; [self.view addSubview:webView]; }
分配Web视图的第一行导致崩溃 – 我在控制台中获取EXC_BAD_ACCESS和消息:
Warning: Unable to restore prevIoUsly selected frame
我不明白是什么造成事故; self.view.frame绝对是一个CGRect.
解决方法
由于您使用的是loadView方法,您必须手动创建自己的视图层次结构.因为UIWebView是UIView的一个子类,所以你可以这样写你的loadView方法:
webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; self.view = webView; [webView release];
或者您可以跳过使用loadView,并将其放在viewDidLoad方法中,如下所示:
webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; [self.view addSubview:webView]; [webView release];
为了进一步阐述您的应用程序崩溃的原因,当UIViewController被实例化时,它的视图不是正确的创建.这被称为延迟加载,所以你试图访问一个不存在的值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。