【问题标题】:Dismissing view from UIWebView shouldStartLoadWithRequest when opening app store打开应用商店时从 UIWebView shouldStartLoadWithRequest 中关闭视图
【发布时间】:2012-03-12 04:59:06
【问题描述】:

我正在使用webStoryViewController,它使用UIWebView 来处理网页。当用户单击 Web 链接时,它会从其他屏幕以模态方式调用。如果找到应用商店链接,那么我有一个代码可以关闭我的视图并打开应用商店。它可以很好地在应用商店中打开链接,但大多数时候都无法关闭我的视图。所以当我回到我的应用程序时,我看到一个空白窗口。但有时它确实有效。有什么想法我可以让它每次都发生吗?提前致谢!

这是我的代码

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{   
    NSURL *url = request.URL;

    if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"]) {
        if ([[UIApplication sharedApplication]canOpenURL:url]) {
            [webView stopLoading];
            [self dismissModalViewControllerAnimated:NO];
            [[UIApplication sharedApplication]openURL:url];
            return NO;
        }
    }
    else
       return YES;
}

【问题讨论】:

    标签: ios uiwebview


    【解决方案1】:

    我找到了解决方案。它正在进入比赛状态。所以 UIView 没有足够的时间在应用程序进入后台之前关闭视图。所以我像这样延迟调用dismissModalView

    [self performSelector:@selector(actionDismissView) withObject:nil afterDelay:0.2];
    

    成功了!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多