2011-11-07 62 views
0

是否有解決此問題的方法?iOS5:在打開一些附件文件後,UIWebView不顯示Gmail

總結:

在iOS5的設備/軟件仿真,以UIWebView中應用的一些種附件文件被打開後,如.PDF,.txt或.XML不顯示的Gmail。我用UIWebView構建了一些簡單的應用程序,它們有searchBar,goBack按鈕等等。當它們爲iOS 4.3構建時,它們在iPhone 4.3設備/模擬器上完美工作,但它們不適用於5.0。爲iOS5構建的項目也具有相同的問題。

重現步驟:

  1. 構建靶向的iOS 4.3或5.0的UIWebView一個應用程序,其具有至少一個GoBack的按鈕和URL的搜索欄。
  2. 在iOS5設備/模擬器上運行應用程序。
  3. 在應用程序中登錄到Gmail。
  4. 打開您的其中一封電子郵件的pdf(txt/xml)附件。 (當您打開UIWebView支持的Microsoft Office文件時,例如word,excel和powerpoint,則不會發生此問題。)
  5. 通過按goBack按鈕返回上一頁,或輸入URL「http:/ /mail.google.com「在searchBar中。
  6. UIWebView顯示一個白色的空白。
  7. 之後,您永遠無法看到您的Gmail頁面。

預期結果:

你可以回到以前的電子郵件(當你按下按鈕的GoBack),或轉到Gmail頁面的頂部(當你輸入Gmail URL)。

實際結果:

的UIWebView中只是顯示一個白色的空白,永遠不會讓你看到任何Gmail頁面。

迴歸:

會發生: - iOS設備部署目標4.3,iOS上運行5.0的設備/模擬器 - iOS設備部署目標5.0,iOS上運行5.0的設備/模擬器

不會發生: - iOS的部署目標4.3,在iOS 4.3設備上運行/模擬器

感謝

回答

0

我有同樣的問題,但不能修復它。我建議你採取一種解決方法。 如果您的UIWebView轉到「mail-attachment.googleusercontent.com」,則返回 的操作是錯誤的。因此,當檢測到URL時,最好創建另一個視圖並在其上加載附件。第二個按鈕具有GO返回按鈕,但按下時放棄第二個視圖,然後通過IBAction方法返回到第一個視圖。它適用於iOS4和iOS5。

我的示例代碼如下。

-(BOOL) firstView:(UIWebView *)view 
shouldStartLoadWithRequest:(NSURLRequest *)req 
navigationType:(UIWebViewNavigationType)nType{ 
    NSString *strurl=[[[req URL] standardizedURL] absoluteString]; 
    NSRange range=[strurl rangeOfString: @"mail-attachment" options:NSCaseInsensitiveSearch]; 
    if (range.location!=NSNotFound){ 
     Your2ndViewController *attView = [[Your2ndViewController alloc] initWithNibName:@"YourNibNameofAnothor" bundle:nil]; 
     if(attView==nil){ 
      return NO; 
     } 
     attView.wvc=self;//mark the first on the second to return the first one 
      [attView loadURLWithString:strurl]; 
     [self.view addSubview:attView.view ]; 
     [UIView commitAnimations]; 
     [attView loadURLWithString:strurl]; 
     return NO;//Not Load on the first view 
    } 
    return YES;//Load on the first view 
} 

你的第二個查看這也是一個UIWebView有一個返回按鈕,它的處理器是繼

- (IBAction) returnParent:(id)sender 
{ 
    [self.view removeFromSuperview];//return to the first view 
    [UIView commitAnimations]; 
} 
+0

感謝您的答覆。我確認了你建議的方式。我向Apple和Google報告了這個問題。希望它很快就會被修復! –