0

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

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

但我得到一个黑屏,而我已经在SenderPlayerViewController.

4

2 回答 2

2

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

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

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

它应该是这样的

UIViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"SenderPlayerViewController"];
于 2012-04-28T17:02:53.163 回答
1

如果您使用情节提要中的视图控制器,则应使用

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

而不是分配初始化。

于 2012-04-28T17:31:12.840 回答