我有一个UIWebView,用于加载带有html按钮的页面。当用户点击该按钮时,会加载“http:// somerequest”。
我在shouldStartLoadWithRequest中捕获请求(在下面的代码中),当请求“http:// somerequest”时,执行带有标识符“Comments”的segue:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
if([[url absoluteString] isEqualToString:@"http://somerequest"])
{
[self performSegueWithIdentifier:@"Comments" sender:self];
return NO;
}
return YES;
}
“performSegueWithIdentifier”正常工作但是shouldStartLoadWithRequest函数没有返回“NO”。如果我删除“performSegueWithIdentifier”,该函数可以返回NO。
请告诉我当UIWebView请求“http // somerequest”并且不在当前UIWebView中加载请求时(通过返回“NO”),我如何执行segue。
答案 0 :(得分:2)
试试这个:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
BOOL returnValue = YES;
if([[url absoluteString] isEqualToString:@"http://somerequest"])
{
[self performSegueWithIdentifier:@"Comments" sender:self];
returnValue = NO;
}
return returnValue;
}
以任何方式设置断点以确保'returnValue = NO;'叫做。 沙尼