ios – 永远不会调用shouldStartLoadWithRequest

前端之家收集整理的这篇文章主要介绍了ios – 永远不会调用shouldStartLoadWithRequest前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经研究和研究,但仍然不明白为什么从未调用过StartLoadWithRequest.我的页面加载正常,并调用了一些UIWebview委托协议方法.请从以下代码中找到相关的摘要

在我的.m中合成我的webview(在头文件中定义):

@implementation PortViewController

@synthesize WebView = myWebView;

我成功加载了我的webview:

myURLString = [NSString stringWithFormat:@"https://%@",defaultWebsite];

    myURL = [NSURL URLWithString: myURLString];
    NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
    [myWebView loadRequest:myRequest];

把我的代表设置为自己

- (void)viewDidLoad
{


[super viewDidLoad];
[myWebView setOpaque:NO];
[myWebView setBackgroundColor:[UIColor clearColor]];

//myWebView.description.

myWebView.delegate = self;
}

我的所有协议方法都被称为EXCEPT shouldStartLoadWithRequest

- (void)webViewDidStartLoad:(UIWebView *)myWebView {
    [activityIndicator startAnimating];
}

- (void)webViewDidFinishLoad:(UIWebView *)myWebView {
    [activityIndicator stopAnimating];
}

- (BOOL)WebView:(UIWebView *)myWebView shouldStartLoadWithRequest:(NSURLRequest *)request          navigationType:(UIWebViewNavigationType)navigationType {

NSLog(@"inside Webview");
if([[request.URL absoluteString] hasPrefix:@"http://www.nzx"]) {
    // do stuff
    NSLog(@"Have caught the prefix");
    return YES;
}

    return NO;
}

提前致谢.

解决方法

尝试在ViewWillAppear而不是ViewDidLoad中设置委托
-(void)viewWillAppear:(BOOL)animated
{
     myWebView.delegate = self;
}

并在您的PortViewController.m文件的界面中包含webview委托

@interface PortViewController ()<UIWebViewDelegate>


@end

它应该工作.

原文链接:https://www.f2er.com/iOS/332340.html

猜你在找的iOS相关文章