2013-02-02 21 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