切换视图控制器

时间:2012-04-28 16:56:50

标签: objective-c ios cocoa-touch uiviewcontroller

我想以编程方式从一个视图控制器切换到另一个视图控制器。我使用以下代码:

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

但是我得到了黑屏,而我已经在SenderPlayerViewController中添加了一些控件。

2 个答案:

答案 0 :(得分:2)

您是否尝试使用nib文件进行实例化?如果是这样,您必须使用initWithNibName:bundle:

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

同样使用故事板,在控制器类上调用alloc init是不够的。

应该是

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

答案 1 :(得分:1)

如果您使用故事板中的视图控制器,则应使用

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

而不是alloc init。