我已经搜索了这个论坛,并在iPhone模拟器上加载屏幕时查看了“黑屏”视图问题的各种解决方案,但我相信我的问题是独特的,因此我还没有找到解决方案
以下是发生的事情:
但是,当我按下ViewA上的按钮时尝试以编程方式加载ViewB时,ViewB显示为黑屏。这就是我在做的事情:
-(void) loadView
已在ViewB中发表评论; 我用来以编程方式从ViewA按下按钮加载ViewB的代码如下:
ViewB * viewB = [[ViewB alloc] init]; [self.navigationController pushViewController:viewB animated:YES];
有没有人有任何解决方案? (P.S - 这个社区很棒!!!)
谢谢大家!
答案 0 :(得分:0)
尝试使用initWithNibName初始化ViewController:@“”bundle: 将该视图的XIB文件的名称放在第一个参数的位置,不带扩展名“.xib”,并将bundle设置为nil或[NSBundle mainBundle]。您可以进一步查看Apple文档。
答案 1 :(得分:0)
当您使用故事板时,您应该像这样初始化ViewController
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle bundleForClass:[self class]]];
ViewControllerB *viewController = [storyboard instantiateViewControllerWithIdentifier:@"identifier"];
[self.navigationController viewController animated:YES];
在界面生成器中,您应该设置您尝试初始化为“标识符”的视图控制器的标识符
(MianStoryboard_iPhone当然是你的故事板的名字!)
答案 2 :(得分:0)
可能[self navigationController]为nil,请检查它。
答案 3 :(得分:0)
可能你的XIB搞砸了。您可以尝试删除viewcontroller.m [h] [xib]并添加一个新的。在此之前,复制并过去m和h文件的内容。添加新的空viewcontroller后,只需要经过内容。不幸的是,你将不得不再次组装xib。