我想以编程方式从一个视图控制器切换到另一个视图控制器。我使用以下代码:
SenderPlayerViewController *myViewController = [[SenderPlayerViewController alloc] init];
[self.navigationController pushViewController:myViewController animated:YES];
但是我得到了黑屏,而我已经在SenderPlayerViewController
中添加了一些控件。
答案 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。