iOS UIWebViewDelegates not called



我有一个名为 WebScreenViewControllerUIViewController类,它有一个UIWebView。下面是类实现文件:

@implementation WebScreenViewController
@synthesize urlString;
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.webView.delegate = self;
    // Do any additional setup after loading the view.
    [self gotoUrl:self.urlString];
    //[self gotoUrl:@"http://www.google.com"];
}

#pragma mark - UIWebView Delegates
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL* url = [request URL];
    NSString* urlStr = url.absoluteString;
    NSLog(@"shouldStartLoadWithRequest. URLStr = %@", urlStr);
    return YES;
}
-(void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"webViewDidStartLoad");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString* html = [webView stringByEvaluatingJavaScriptFromString:@"document.body"];
    NSLog(@"webViewDidFinishLoad: HTML string = %@", html);
}
-(void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"didFailLoadWithError. ERROR: %@", error);
}
#pragma mark - Member Methods
-(void)gotoUrl:(NSString*)urlStr
{
    NSLog(@"Calling website %@ in UIWebView...", urlStr);
    NSURL* url = [NSURL URLWithString:urlStr];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:urlRequest];
}
@end

上面的代码在我的一个测试设备上运行良好,但在另一个设备上不起作用。它适用于我的iPod Touch和最新的iOS 8.1.2。但它在我的 iPad3 和 iOS 版本 7.0 上不起作用。当我在iPad3上运行它时,它将调用gotoUrl:方法和日志"在UIWebView中调用网站%@..."将显示。仅此而已。我不再收到代表的日志。为了检查互联网连接,我尝试在同一设备上使用 Safari 并且它正在工作。

如果您

使用的是适用于 iPhone 和 iPad 的不同情节提要,请检查是否已在 iPad 情节提要中正确连接 Web 视图的插座。

还要检查 Web 视图是否为零。

希望这有帮助..

NSString * strURL = [NSString stringWithFormat:@"http://www.google.com/"];
NSURL *loadURL=[NSURL URLWithString:strURL];
NSURLRequest *loadRequest = [NSURLRequest requestWithURL:loadURL];
[webView loadRequest:loadRequest];
webView.delegate=self;

在您的视图中尝试这种方式确实加载了,或者如果您有 URL,您可以像这样替换第一行

NSString * strURL = [NSString stringWithFormat:self.urlString];

最新更新