在视图控制器之间切换

问题描述:

我希望以编程方式从一个视图控制器切换到另一个视图控制器。我使用下面的代码:在视图控制器之间切换

SenderPlayerViewController *myViewController = [[SenderPlayerViewController alloc] init]; 
[self.navigationController pushViewController:myViewController animated:YES]; 

但我得到一个黑色的屏幕,虽然我已经把一些控件SenderPlayerViewController

+0

这是正确的做法。你的错误必须在别的地方。另外,不要忘记在推送之后释放myViewController。 – delannoyk 2012-04-28 17:02:46

你试图用nib文件实例化吗?如果是这样,你必须使用initWithNibName:bundle:

SenderPlayerViewController *myViewController = [[SenderPlayerViewController alloc] initWithNibName:@"SenderPlayerViewController" bundle:nil]; 

编辑
还带有故事板是不够的呼吁控制器类的alloc初始化。

它应该是这样的

UIViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"SenderPlayerViewController"]; 
+0

不,我使用故事板 – Kostas 2012-04-28 17:05:10

+0

我使用你说的,我得到一个错误:故事板()不包含视图控制器与标识符'SenderPlayerViewController – Kostas 2012-04-28 17:28:51

+0

所以你有其他问题。根据你给我们的信息,我们将无法进一步帮助你。 – vikingosegundo 2012-04-28 17:33:38

如果您正在使用从故事板视图控制器,你应该使用

SenderPlayerViewController *myViewController=[storyboard instantiateViewControllerWithIdentifier:@"TheNameOfYourController"] 

,而不是ALLOC初始化。

+0

好笑,我印象深刻,我刚才写了那25分钟。 – vikingosegundo 2012-04-28 17:34:03

+0

oops - 你是对的。不知道我怎么没有注意到这一点... – user1258240 2012-04-28 17:41:09