UIWebView加载但不显示网站(XCode 4,iOS SDK 4.3)

时间:2011-04-24 13:39:04

标签: iphone ios uiwebview

我要写一个包含UIWebView的应用程序。所以首先我想通过简单地加载URL来试一试。

  • 在Interface Builder中创建UIWebView
  • 连接到代码

    @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的连接:

Connections

3 个答案:

答案 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已加载! 无论内容加载成功,都会调用此方法。