1.通过NavigationController跳转
这个方式适用于根视图为NavigationController的控制器,首先,在storyboard中给跳转的目标控制器视图设置Identifier,名字自定,我这里直接使用Controller对应的名字,如图1:
需要跳转时调用如下代码:
这个方式同时适用于push和modal,按着control键从开始的页面拖线到目标页面,松手后选择使用push还是modal切换,如图2。
然后两个页面之间生成了一个segue,选中segue,设置它的Identifier,如图3、4 。在开始页面的Controller中在需要切换的地方调用:
*myVC可以在storyboard创建、xib创建、纯代码创建
(2)xib
(3)纯代码
参考: http://www.cnblogs.com/mjios/archive/2013/02/26/2933667.html
这个方式适用于根视图为NavigationController的控制器,首先,在storyboard中给跳转的目标控制器视图设置Identifier,名字自定,我这里直接使用Controller对应的名字,如图1:
需要跳转时调用如下代码:
//第一个GarageDetailViewController为需要跳转的控制器,第二个GarageDetailViewController为上面设置的Identifier
GarageDetailViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"GarageDetailViewController"];
[self.navigationController pushViewController:vc animated:YES];
图1
[vc setHidesBottomBarWhenPushed:YES];
这个方式同时适用于push和modal,按着control键从开始的页面拖线到目标页面,松手后选择使用push还是modal切换,如图2。
然后两个页面之间生成了一个segue,选中segue,设置它的Identifier,如图3、4 。在开始页面的Controller中在需要切换的地方调用:
[self performSegueWithIdentifier:@"toGarageList" sender:self];
图2
图3
图4
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
}
3.模态切换(默认从底部)
[self presentViewController:myVC animated:YES completion:^{
//完成后的处理代码
}];
*myVC可以在storyboard创建、xib创建、纯代码创建
(1)storyboard 如方法1
GarageDetailViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"GarageDetailViewController"];
(2)xib
SponsorPersonPageViewController *vc = [[SponsorPersonPageViewController alloc] initWithNibName:@"SponsorPersonPageViewController" bundle:nil];
(3)纯代码
OrderNewViewController *vc = [[OrderNewViewController alloc] init];
此时需要重写OrderNewViewController的loadView方法
- (void)loadView
{
[super loadView];
self.view.backgroundColor = [UIColor whiteColor];
}
参考: http://www.cnblogs.com/mjios/archive/2013/02/26/2933667.html