上篇说到了添加UIBarButtonItem,接下来说说界面切换;

1、首先我们在刚才的RootViewController中添加一个按钮用来实现跳转:

打开RootViewController.m(我就继续写了),添加一个跳转button:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

效果图:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

2、button动作实现,新建一个NewViewController继承自UIViewController;用pushViewController到navigationController中去;

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

#import "NewViewController.h"
- (void)nextAction{

    NewViewController *NewVC = [[NewViewController alloc] init];
[self.navigationController pushViewController:NewVC animated:YES];
NewVC.title = @"NewViewController";
}

点击button,如图Back为系统自带按钮;

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

如果不想使用系统自带按钮,我们可以自定义按钮:

 UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"返回"style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

如图:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

3、title的自定义:

 #import "NewViewController.h"

 @interface NewViewController ()

 @end

 @implementation NewViewController

 - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view. UILabel *title = [[UILabel alloc] init];
title.text = @"标题";
title.font = [UIFont systemFontOfSize:];
[title sizeToFit];
self.navigationItem.titleView = title; }

效果图:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

4、如果想放置多个按钮:

SegmentedControl又被称作分段控制器,可以一下放置多个按钮又不影响美观:

 NSArray *colorArray = @[@"黑", @"白", @"灰"];
UISegmentedControl *segmentCtrl = [[UISegmentedControl alloc] initWithItems:colorArray];
segmentCtrl.selectedSegmentIndex = ;
segmentCtrl.tintColor = [UIColor redColor];
self.navigationItem.titleView = segmentCtrl;

效果图:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

添加点击响应事件:

[segmentCtrl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

- (void)segmentAction:(id)segment{

    switch ([segment selectedSegmentIndex]) {
case :
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您选择了颜色黑" delegate:self cancelButtonTitle:@"是" otherButtonTitles:@"否", nil];
[alert show]; }
break;
case :
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您选择了颜色白" delegate:self cancelButtonTitle:@"是" otherButtonTitles:@"否", nil];
[alert show]; }
break;
case :
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您选择了颜色灰" delegate:self cancelButtonTitle:@"是" otherButtonTitles:@"否", nil];
[alert show]; }
break; default:
break;
}
}

效果图:

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

ios基础篇(十一)——UINavgationController的使用(二)页面切换-LMLPHP

05-11 15:26