1

我有一个 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。

4

1 回答 1

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;' 叫做。沙尼

于 2012-09-16T06:31:12.093 回答