我要写一个包含UIWebView的应用程序。所以首先我想通过简单地加载URL来试一试。
连接到代码
@property(nonatomic,retain) IBOutlet UIWebView *webView;
viewDidLoad中:
- (void)viewDidLoad {
[super viewDidLoad];
if(!webView)
{
webView = [[UIWebView alloc]init];
}
webView.delegate = self;
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]]; }
我也实现了didFailLoadWithError和webViewDidFinishLoad委托方法。 调用webViewDidFinishLoad并指示已加载HTML。
问题是:即使调用了webViewDidFinishLoad,UIWebView也不会显示网站。它只显示白色。触摸并拖动UIWebView但不显示内容时,会显示右侧和底部的滚动条。没有找到任何东西。看起来很奇怪..
修改 此屏幕截图显示了xib的连接:
答案 0 :(得分:5)
如果您正确地在Interface Builder中连接了所有内容,则不需要以下行:
if(!webView)
{
webView = [[UIWebView alloc]init];
}
webView.delegate = self;
尝试删除它们,看看会发生什么。另外,在NSLog(...)
回调中添加webView:didFailLoadWithError:
并查看是否输出。
答案 1 :(得分:2)
我明白了..我用以下方式合成:
@synthesize webView = _webView;
因此有必要以下列方式调用UIWebView:
[self.webView loadRequest:...];
这个命名约定的新内容,这就是为什么我不习惯自我
答案 2 :(得分:0)
您是否检查过文件所有者连接到您声明的webView?
此外,webViewDidFinishLoad并不意味着HTML已加载! 无论内容加载成功,都会调用此方法。