ios基础篇(十一)——UINavgationController的使用(二)页面切换
上篇说到了添加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的使用(二)页面切换的更多相关文章
- ios基础篇(二十一)—— UIImagePickerController类
UIImagePickerController简述: UIImagePickerController 类是获取选择图片和视频的用户接口,我们可以用UIImagePickerController选择我们 ...
- ios基础篇(十二)——UINavgationController的使用(三)ToolBar
UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolB ...
- ios基础篇(二十九)—— 多线程(Thread、Cocoa operations和GCD)
一.进程与线程 1.进程 进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内: 如果我们把CPU比作一个工厂,那么进程就好比工厂的车间,一个工厂有 ...
- ios基础篇(二十七)—— Json解析
一.什么是Json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使 ...
- ios基础篇(二十六)—— UITableViewCell的分组索引与标记
一.表视图的索引目录 首先要创建一个TableView,之前有说过,这里就不详细说了(参考前面第十四篇). 直接贴代码吧, #import "ViewController.h" @ ...
- ios基础篇(二十五)—— Animation动画(UIView、CoreAnimation)
Animation主要分为两类: 1.UIView属性动画 2.CoreAnimation动画 一.UIView属性动画 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIVie ...
- ios基础篇(二十四)—— 文字、图片的绘制及其自定义Button
这篇文章我们主要来拿官方的控件来研究一下,我们来仿照官方的控件,自己来实现它提供的控件: 首先来看看基本的图片与文字的绘制,很简单. 一.imageView 所有的视图都是继承自UIView,所以我们 ...
- ios基础篇(十四)——UITableView(二)属性及基本用法
上一篇说了UITableView的重用机制,让我们对UITableView有了简单了解,下面说说UITableView的属性及常见方法. 一.属性 1.frame:设置控件的尺寸和大小 2.backg ...
- ios基础篇(二十三)—— 定时器NSTimer与图片的自动切换
一.NSTimer NSTimer是一个能在从现在开始到后面的某一个时刻或者周期性的执行我们指定的方法的对象.可以按照一定的时间间隔,将制定的信息发送给目标对象.并更新某个对象的行为.你可以选择在未来 ...
随机推荐
- 20145320《Java程序设计》第4周学习总结
20145320<Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 继承 继承作为面向对象的第二大特征,避免多个类间重复定义共同行为.即当多个类中存在相同属性和行为时 ...
- 转: 带你玩转Visual Studio——带你理解多字节编码与Unicode码
上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的 ...
- cat常用参数详解
cat常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基 ...
- 15. 星际争霸之php设计模式--策略模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- 使用C# yield关键字来提高性能和可读性
对于”yield”这个关键字我已经见过N次了,直到最近我才知道这个关键字所蕴含的力量.我将在下面展示出一些使用”yield”让你的代码有更高可读性和更好性能的例子. 为了让你对yield有一些快速概览 ...
- Orcale与jfinal的添加时间问题
时间只能不能使用一般的方法进行添加,必须转换,比如添加当前时间,如上图所示
- Java 利用初学知识 写出自己的名字
- 转义字符_MySQL识别下面的转义序列
转义字符.MySQL识别下面的转义序列 在字符串中,某些序列具有特殊含义.这些序列均用反斜线('\')开始,即所谓的转义字符.MySQL识别下面的转义序列: \0 ASCII 0(NUL)字符. \' ...
- android 布局优化常用技巧
android对多个模块都要是要的UI逻辑的致辞除了fragment之外,没有别的东西可以支持了, include,merge,viewstub只能支持公用的ui,但是这个通用支持不能包含逻辑(jav ...
- [问题2014A02] 复旦高等代数 I(14级)每周一题(第四教学周)
[问题2014A02] 求下列 \(n\) 阶行列式的值, 其中 \(a_i\neq 0\,(i=1,2,\cdots,n)\): \[ |A|=\begin{vmatrix} 0 & a_ ...