gpt4 book ai didi

ios - shouldStartLoadWithRequest 永远不会被调用

转载 作者:可可西里 更新时间:2023-11-01 03:27:45 25 4
gpt4 key购买 nike

我研究了又研究,但仍然不明白为什么 shouldStartLoadWithRequest 从未被调用过。我的页面加载正常,一些 UIWebview 委托(delegate)协议(protocol)方法被调用。请从我的以下代码中找到相关片段:

在我的 .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];

将我的委托(delegate)设置为自己

- (void)viewDidLoad
{


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

//myWebView.description.

myWebView.delegate = self;
}

除了 shouldStartLoadWithRequest,我所有的协议(protocol)方法都被调用

- (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 中设置委托(delegate)

-(void)viewWillAppear:(BOOL)animated
{
myWebView.delegate = self;
}

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

@interface PortViewController ()<UIWebViewDelegate>


@end

它应该可以工作。

关于ios - shouldStartLoadWithRequest 永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18460623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com