我有一个UIViewController,在该视图控制器中我想在不使用Interface Builder的情况下调用CustomUIViewController。我一直在使用它,它可以工作,但它需要一个故事板ID。
UIStoryboard *storyboard = self.storyboard;
UIViewController *myVC = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"PageID"];
[self presentModalViewController:myVC animated:YES];
有没有办法从UIViewController转到customViewController而不使用segues和IB?
答案 0 :(得分:1)
使用此:
UIViewController *myVc = [[UIViewController alloc] init];
[self presentViewController:myVc animated:YES completion:nil];
这显然会显示一个新的空白视图控制器,如果你想要你的PageID视图,那么你用UIViewController
类的名称替换PageID
(即.h / .m文件名)
所以我假设:
PageID *myVc = [[PageID alloc] init];
[self presentViewController:myVc animated:YES completion:nil];
如果您想在导航控制器中使用,请执行以下操作:
PageID *myVc = [[PageID alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myVc];
[self presentViewController: navController animated:YES completion:nil];
或者,如果您不希望它是模态的(不需要创建新的导航控制器,因为它将被添加到现有的导航控制器堆栈,即[self navigationController]
:
[[self navigationController] pushViewController:myVc animated:YES];