2012-02-21 63 views
1

我正在使用webStoryViewController,它使用UIWebView來處理網頁。當用戶點擊網頁鏈接時,它會從其他屏幕以模態方式調用。如果找到了應用商店鏈接,那麼我有一個代碼可以關閉我的視圖並打開應用商店。它在應用程序商店中打開鏈接,但大多數時候都未能駁回我的觀點。所以當我回到我的應用程序時,我看到一個空白窗口。它有時雖然有效。任何想法,我怎麼能使它每次都發生?提前致謝!打開應用程序商店時取消UIWebView的視圖shouldStartLoadWithRequest

這裏是我的代碼

- (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; 
} 

回答

1

我找到了解決辦法。它正在進入競爭狀態。所以UIView沒有足夠的時間在應用程序進入後臺之前關閉視圖。所以我把dismissModalView調用這樣的延遲

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

這樣做的伎倆!

相關問題