2013-02-02 49 views
1

回國之後這裏是事件造成我的應用程序返回一個黑屏序列:通過應用程序的一個UIWebView的XCode IO6:UIWebView的返回黑屏從選擇照片

1)我選擇在我的網站按鈕這使我可以更改我的個人資料圖片。

2)該應用程序拉從屏幕底部的三個標準的選項:「拍照或錄像」,「選擇現有」,「取消」

3)如果我選擇使用的前兩個選項,然後選擇或拍照,我的應用程序返回到顯示黑屏。個人資料照片未更改。我還注意到在控制檯窗口中顯示以下消息:「UIFileUploadFallbackRootViewController的開始/結束外觀轉換的不平衡調用:0x1c590e60。」

奇怪的部分是,這個移動網站的「加載照片」功能用於從我的應用程序的UIWebView訪問時工作。升級到iOS6後,我首先注意到了這個問題。任何想法可能已經改變或我現在需要從我的網站或應用程序適應?

在此先感謝您提供的任何幫助!

13年2月17日更新:

HTML代碼在移動網站上裝載的照片:

<form class="appnitro" enctype="multipart/form-data" method="post" action="mysite.php"> 
<input id="file1" name="file1" class="button_text" type="file" size="50px"/> <br /> 
<input id="submitpic" class="button_text" type="submit" name="submit" value="Save Picture" /> 
</form> 

注:使用jQuery移動。另外,如果使用Safari瀏覽器訪問移動網站,上傳照片功能可以正常工作。只有在嘗試使用應用內的UIWebView上傳新照片時,纔會顯示黑屏。

+0

您需要發佈一些代碼如果你想在這個 – JSA986

+0

建議謝謝@ JSA986,我添加了使用的移動代碼。這有幫助嗎? – JRoss

回答

2

這似乎是因爲rootViewController未設置。

你可能有一個警告:「應用程序窗口預計將有在應用程序啓動的最後一個根視圖控制器」

確保你有這樣的事情:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

// Override point for customization after app launch 

_window.rootViewController = myViewController; 

... 
} 
+0

謝謝@Benoit的回答。但是,我已經在我的appDelegate.m中使用以下代碼行設置了rootViewController: 'self.navController = [[UINavigationController alloc] initWithRootViewController:self.viewController]' 此外,它不會像我的appDelegate的' didFinishLaunchingWithOptions'在從我的手機中選擇一張照片並且屏幕變黑後被調用。 唯一的線索是,在選擇「選擇文件」後,我收到以下警告: 對開始/結束外觀轉換的不平衡調用。 – JRoss

+0

@JRoss didFinishLaunchingWithOptions:不應該在照片被挑選後調用。它在啓動時調用,並將window.rootController設置爲主視圖控制器,以防止問題發生。它解決了我和我有同樣的確切症狀。 – Benoit

+0

感謝@Benoit,這似乎工作。但是,我需要在第一次打開時創建註冊頁面,這導致我等待將主WebView頁面推送到navController的堆棧。現在,當我嘗試設置rootViewController時,出現以下錯誤: 「***由於未捕獲的異常'UIViewControllerHierarchyInconsistency',原因:'作爲視圖控制器的子級添加根視圖控制器「 我猜我不能在添加navController子視圖後執行此操作。你將如何處理這個錯誤? – JRoss