UINavigationController介绍
来源:互联网 发布:电路图仿真软件 编辑:程序博客网 时间:2024/06/01 09:05
1、创建navigation。
如果是想直接把navigation导航作为项目一开始的跟视图,把RootViewController.h文件里的nav属性放到AppDelegate.h里即可,再把RootViewController.m文件里的action的代码复制到 AppDelegate.m里的didFinishLaunchingWithOptions 方法里,最后把>
1 #import <UIKit/UIKit.h> 2 @class FirstViewController; 3 4 @interface RootViewController : UIViewController 5 6 @property (strong,>
在RootViewController.m 文件里的随意一个自定义action里:
1 - (IBAction)btnClick:(UIButton *)sender { 2 3 //创建一个viewcontroller 4 FirstViewController *fristview =[[[FirstViewController> [[[UINavigationController alloc] initWithRootViewController:fristview] autorelease]; 9 10 11 //初始化UINavigationController(方式二)12 // >13 // [self.nav>18 19 20 //跳转到FirstView页面21 [self presentViewController:self.nav animated:YES completion:nil];22 23 24 //这种写法一般用于往view里添加一些小控件,如button label textField之类的,不适宜用于页面跳转25 // [self.view addSubview:self.nav.view];26 27 28 }
2、设置viewcontroller的navigationItem属性和 toolbar、toolbarItem(1)firstViewcontroller的navigation属性和toolbarItem属性。代码在firstviewcontroller.m的viewdidLoad方法里
每个viewcontroller都有一个navigationItem属性(只在被加载到导航堆栈里才有效),navigationItem属性里又有5个属性:UIBarButtonItem类型的leftBarButtonItem、rightBarButtonItem和backBarButtonItem,NSString类型的title(或者viewcontroller属性的titleView)、prompt。
1 - (void)viewDidLoad 2 { 3 [super>@"首页"; 9 10 //在title上面再加多一行,但这样子就会造成导航栏的宽度变宽11 // >12 13 //设置rightbarbuttonitem14 UIBarButtonItem *rightbar = [[[UIBarButtonItem>> [[UIBarButtonItem> [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];29 UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];30 31 //toolbar是整个navigation堆栈里的view共同的,但toolbar上面的items却是每个view单独拥有的32 //现在只是设置了当前view的toolbaritem,与其他view的toolbaritme是没有关系的33 [self setToolbarItems:[NSArray arrayWithObjects:flexItem, three, flexItem, four, flexItem, nil]];34 35 [three release];36 [four release];37 [flexItem release];38 39 40 }
页面效果如下:
(2)、secondviewcontroller的navigationItem和toolbarItem
代码在viewdidLoad方法里
1 - (void)viewDidLoad 2 { 3 [super> [[[UIBarButtonItem> [[[UIBarButtonItem> rightbar;12 > leftbar;13 14 //当前view在navigation堆栈里不是rootview,所以把该viewpush到navigation堆栈里时,tabbar左边会显示backbarbutton15 //如果给当前view设置了leftbarbutton,会把把backbarbutton覆盖掉,想同时显示两者,需如下设置:16 > YES;17 18 19 20 //设置当前view的toolbar可见.因为有可能从一个toolbar不可见的view导航到当前view21 > NO;22 23 }
效果如下:
(3)、thirdviewcontroller的navigationItem和toolbaritem
1 - (void)viewDidLoad 2 { 3 [super>@"第三页"; 5 // Do> [[[UIBarButtonItem> rightbar;14 15 // NSArray *array = @[@"排骨", @"牛排"];16 17 //设置titleview,会覆盖title18 UISegmentedControl *segment = [[[UISegmentedControl> UISegmentedControlSegmentCenter;20 21 > segment;22 }效果如下:
8、添加UIBarButtonItem
bar ButtonItem分左右UIBarButtonItem。我们把左右的都添加上去。
在RootViewController.m中添加代码如下:
[cpp] view>这样添加了UIBarButtonItem了,效果如下:self.navigationItem.leftBarButtonItem = leftButton; UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(selectRightAction:)]; self.navigationItem.rightBarButtonItem = rightButton;<p class="p1">}</p>
这里重点介绍下
UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemActiontarget:selfaction:@selector(selectLeftAction:)];
UIBarButtonSystemItemAction的风格,这是系统自带的按钮风格,看下图,你不用一个个试验,你也知道想用那个item,如下图:
0 0
- UINavigationController介绍
- UINavigationController 详细介绍
- ios--UINavigationController详细介绍
- UINavigationController介绍:2-控制器跳转
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- UINavigationController
- 第二十一天【java虐我千百遍,我待java如初恋】
- matlab gui 输出百分数到edit控件
- mybatis查询类型为int的字段,返回null的异常
- EJB-01:企业级开发背景知识
- 【线段树】单点更新4
- UINavigationController介绍
- EJB-02:EJB开发流程
- Balanced Binary Tree
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Android 4.22 与PC 单线程通信Socket
- 黑马程序员_银行业务调度系统
- Hibernate_QL
- 菜鸟学SSH(六)——Spring事务管理
- 认真练习一个小时,胜过三心二意三个小时
原创粉丝点击热门IT博客热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新乌龙院之 乌龙院之笑闹江湖演员表 乌龙院大长篇之活宝免费 乌龟咬乌龟 乌龟价钱 乌龟网站 乌龟机 乌龟作用 怎样判断乌龟的年龄 黄缘吧 乌龟种类图片 乌龟有多少种类图片 中国乌龟品种大全图 紫砂乌龟壶图 自制乌龟缸设计图 乌龟壳脱皮 乌龟壳发白 乌龟壳图片 乌龟换壳 没有壳的乌龟 把壳丢掉的乌龟 乌龟壳多少钱一斤 乌龟的壳 乌龟脱壳是怎么回事 乌龟脱壳全身后的图片 乌龟掉壳 乌龟壳有什么用 乌龟壳的功效与作用 乌龟壳有什么作用 龟壳有什么用 龟板 乌龟拉白色的屎一大坨 乌龟屎 用2个大塑料瓶做个乌龟窝 乌龟缸用什么过滤器好 乌龟缸里养什么植物好 乌龟养殖缸 龟缸设计图 自制乌龟缸 乌龟缸价格 乌龟缸图片