目前的模态视图控制器给出了一个黑屏
Posted
技术标签:
【中文标题】目前的模态视图控制器给出了一个黑屏【英文标题】:presentModalViewController gives a black screen 【发布时间】:2012-05-26 09:51:23 【问题描述】:在警报视图方法中,我实现了以下(相当标准的)代码段来弹出模式视图:
else if (buttonIndex == 1)
EmergencyPlanViewController *emergencyPlanView = [[[EmergencyPlanViewController alloc] init] autorelease];
[emergencyPlanView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:emergencyPlanView animated:YES];
不知何故,它给了我一个黑屏。我找不到这里有什么问题。 我在 MainStoryBoard 中创建了窗口,并将 IB 中的 viewcontroller 类自定义为 EmergencyPlanViewController。
emergencyPlanView 的 viewDidLoad 方法被触发,但是看起来视图没有加载。有人知道这里出了什么问题吗?
编辑: 需要明确的是,我没有在我的项目中使用单独的 xib 文件。我只使用故事板
【问题讨论】:
【参考方案1】:在xib
文件中,您的UIView
是否设置为文件所有者的视图。这大概就是问题所在。此外,如果您只应用init
,则会加载具有相同名称的EmergencyPlanViewController
interface 构建器文件:
EmergencyPlanViewController.xib
因此,请确保在这种情况下:
EmergencyPlanViewController
笔尖确实是:EmergencyPlanViewController.xib
或者你写而不是init
:initWithNibName://whatever nib name here
【讨论】:
好的,但我不使用任何 xib 文件,而是在我的故事板上创建了一个单独的视图控制器。是不是应该跟这个有关? 在这种情况下它与你的故事板有关【参考方案2】:通过在 Interface Builder 中为视图设置背景颜色,我设法解决了在呈现模态视图控制器时出现的黑屏问题。我注意到默认情况下,视图的背景颜色设置为黑色/白色(见附图),尽管它显示为白色。我不知道这到底是什么意思,也不知道它是如何导致黑屏的,但是设置单一颜色或纹理可以解决它。 PS:我在从 ios SDK 5 迁移到 6 时遇到过这个问题。
ios6
【讨论】:
【参考方案3】:试试这个:-
EmergencyPlanViewController *emergencyPlanView=[[EmergencyPlanViewController alloc] initWithNibName:@"EmergencyPlanViewController" bundle:nil];
emergencyPlanView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self.navigationController presentModalViewController:emergencyPlanView animated:YES];
【讨论】:
以上是关于目前的模态视图控制器给出了一个黑屏的主要内容,如果未能解决你的问题,请参考以下文章