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

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

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

效果图:

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

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

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

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

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

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

如图:

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; }

效果图:

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

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

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

效果图:

添加点击响应事件:

[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的使用(二)页面切换的更多相关文章

  1. ios基础篇(二十一)—— UIImagePickerController类

    UIImagePickerController简述: UIImagePickerController 类是获取选择图片和视频的用户接口,我们可以用UIImagePickerController选择我们 ...

  2. ios基础篇(十二)——UINavgationController的使用(三)ToolBar

    UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolB ...

  3. ios基础篇(二十九)—— 多线程(Thread、Cocoa operations和GCD)

    一.进程与线程 1.进程 进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内: 如果我们把CPU比作一个工厂,那么进程就好比工厂的车间,一个工厂有 ...

  4. ios基础篇(二十七)—— Json解析

    一.什么是Json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使 ...

  5. ios基础篇(二十六)—— UITableViewCell的分组索引与标记

    一.表视图的索引目录 首先要创建一个TableView,之前有说过,这里就不详细说了(参考前面第十四篇). 直接贴代码吧, #import "ViewController.h" @ ...

  6. ios基础篇(二十五)—— Animation动画(UIView、CoreAnimation)

    Animation主要分为两类: 1.UIView属性动画 2.CoreAnimation动画 一.UIView属性动画 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIVie ...

  7. ios基础篇(二十四)—— 文字、图片的绘制及其自定义Button

    这篇文章我们主要来拿官方的控件来研究一下,我们来仿照官方的控件,自己来实现它提供的控件: 首先来看看基本的图片与文字的绘制,很简单. 一.imageView 所有的视图都是继承自UIView,所以我们 ...

  8. ios基础篇(十四)——UITableView(二)属性及基本用法

    上一篇说了UITableView的重用机制,让我们对UITableView有了简单了解,下面说说UITableView的属性及常见方法. 一.属性 1.frame:设置控件的尺寸和大小 2.backg ...

  9. ios基础篇(二十三)—— 定时器NSTimer与图片的自动切换

    一.NSTimer NSTimer是一个能在从现在开始到后面的某一个时刻或者周期性的执行我们指定的方法的对象.可以按照一定的时间间隔,将制定的信息发送给目标对象.并更新某个对象的行为.你可以选择在未来 ...

随机推荐

  1. RDIFramework.NET V2.9版本多语言的实现

    RDIFramework.NET V2.9版本多语言的实现 现在是国际化时代,软件也不能落后.一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文 ...

  2. .Net分布式架构(二):基于Redis的Session共享

    一:Session简介 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台web服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台web服务器建立连 ...

  3. Velocity(9)——宏

    定义宏和使用宏 #macro指令用于定义一个VTL模板的重复代码块——宏.下面是一个简单的定义宏的例子: #macro( d ) <tr><td></td>< ...

  4. input内强制保留小数点后两位 位数不足时自动补0

    input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = ...

  5. windows安装TortoiseGit详细使用教程

    标签:tortoisegit 环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 别下载错,不习惯英文的朋友,也可以下个语言包] 一.安装图解: ...

  6. 如何关闭windows电脑的开机自启程序

    很多时候我们打开电脑会发现,莫名其妙的出现一些已经在运行的程序了,这都是一些开机自启的软件之类的.可能你的电脑配置本来就不怎么高,开机还这样,那估计会很卡顿,那有什么方法可以关闭这些开机自动启动的程序 ...

  7. Grunt备忘录

    一.安装Grunt 应在全局环境下安装Grunt,以保障在任何目录下都能够正确找到grunt npm install grunt-cli -g 二.对已有Grunt基本目录结构文件进行操作 Grunt ...

  8. System.IO.File.Create 不会自动释放,一定要Dispose

    这样会导致W3P进程一直占用这个文件 System.IO.File.Create(HttpContext.Current.Server.MapPath(strName)) 最好加上Dispose Sy ...

  9. linux下rpm包安装、配置和卸载mysql

    WIN10下虚拟机:VMware workstation 12 PRO 安装 # 1.查看系统版本 [root@vm-xiluhua][/home/xiluhua]$ cat /etc/redhat- ...

  10. html+css创建提示框

    看到下面的效果了吗? 本来我们站点是用下面的图片做的背景, 但是后期当更改完框中的提示内容,并且更新内容较多的时候,发现内容溢出了,如下图: 但是背景图片不能自动拉伸,还得重新做一张背景图,这样就导致 ...