首页
登录 | 注册

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
http://blog.csdn.net/totogo2010/article/details/7682433

iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换。

1、RootView 跳到SecondView

首先我们需要新一个View。新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView


2、为Button 添加点击事件,实现跳转

在RootViewController.xib中和RootViewController.h文件建立连接


在RootViewController.m中实现代码,alloc一个SecondViewController,用pushViewController到navigationController中去,并为


SecondViewController这是title为    secondView.title =@"Second View"; 默认情况下,titie为下个页面返回按钮的名字。


[cpp] view plaincopy
  1. - (IBAction)gotoSecondView:(id)sender {  
  2.     SecondViewController *secondView = [[SecondViewController alloc] init];  
  3.     [self.navigationController pushViewController:secondView animated:YES];  
  4.     secondView.title = @"Second View";  
  5. }  
这是点击GotoSecondView 按钮,出现


这就是SecondView了。


3、添加segmentedController

在nav bar这样的效果是如何实现的呢?

这就是segmentedController。


3.1在RootViewController.m的viewDidLoad添加如下代码:



[cpp] view plaincopy
  1. NSArray *array = [NSArray arrayWithObjects:@"鸡翅",@"排骨", nil];  
  2.    UISegmentedControl *segmentedController = [[UISegmentedControl alloc] initWithItems:array];  
  3.    segmentedController.segmentedControlStyle = UISegmentedControlSegmentCenter;  
  4.   
  5.    [segmentedController addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];  
  6.    self.navigationItem.titleView = segmentedController;  

3.2[segmentedController addTarget:selfaction:的实现



[cpp] view plaincopy
  1. -(void)segmentAction:(id)sender  
  2. {  
  3.     switch ([sender selectedSegmentIndex]) {  
  4.         case 0:  
  5.         {  
  6.             UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了鸡翅" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];  
  7.             [alter show];  
  8.   
  9.         }  
  10.         break;  
  11.     case 1:  
  12.         {  
  13.             UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了排骨" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];  
  14.             [alter show];  
  15.         }  
  16.         break;  
  17.           
  18.         default:  
  19.             break;  
  20.     }  
  21. }  
这样就能响应鸡翅和排骨按钮了


4、自定义backBarButtonItem


左上角的返回上级View的barButtonitem的名字是上级目录的Title,如果title或者适合做button的名字,怎么办呢?我们可以自己定义

代码如下:


[cpp] view plaincopy
  1. UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"根视图" style:UIBarButtonItemStyleDone target:nil action:nil];  
  2.    self.navigationItem.backBarBu  
效果:


6、自定义title

UINavigationController的title可以用别view替代,比如用UIButton UILable等,下面我用UIButton.

在SecondViewController.m中添加下面如下。


[cpp] view plaincopy
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];  
  5.     [button setTitle: @"自定义title" forState: UIControlStateNormal];  
  6.     [button sizeToFit];  
  7.     self.navigationItem.titleView = button;}  
运行程序,goto secondView,运行效果


下篇文件讲下Navigation 的Toobar如何显示和如何自己定义。
 下篇:

iOS学习之UINavigationController详解与使用(三)ToolBar




著作权声明:本文由http://blog.csdn.net/totogo2010/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢

相关文章

  • tips:虽然题目是写的Java程序员,但对其他语言的开发来说也会有借鉴作用. 工作一年(以内) 但是加班不代表你就可以松懈了,互联网这个行业,技术迭代的速度非常快,稍不留神你可能就out了.我还记得某位大佬说的那句话,从你入行那一刻起,你 ...
  • 如何提升开发技术的方法很多,比如专注,刻苦,热情,兴趣等,不过我这里不会提这些,下面想说的是我觉得能够指数级提升的窍门和一些自己在求索路上的一些体会,也算是一个阶段性的总结吧.给大家做个分享,希望对需要的同学有用. 1,看到这个标题一般人的 ...
  • 6年iOS开发被裁员,是行业的饱和还是经验根本不值钱?
    最近看到很多iOS开发由于公司裁员而需要重新求职的.他们普遍具有4年甚至更长的工作经验.但求职结果往往都不太理想. 由于工作年限较长,他们普遍认为工资就是应该随着工作年限增长而不断提升的.但事实却是:你的工资不是和你的工作年限成正比,而是和 ...
  • 八年iOS架构师教你如何一举拿下iOS工程师的Offer,(附面试技巧)
    现在很多人即将毕业或者换工作面临找工作,为了帮助大家,遂写下这篇文章.如果你想进入BAT,抑或拿到高工资,无论你的基础如何,你至少要花三个月时间来准备简历.笔试题.面试题.对于没有项目经验,没有计算机专业背景,甚至没有学历背景的朋友,更需要 ...
  • 一直以来程序员这一职业都给人高薪资的印象,近年来随着互联网行业的快速发展,程序员更是人满为患,然而很多人关注的却是程序员的薪资,而非职业本身. 在此我整理出自己对程序员的职业规划的一些见解,希望能帮助到他人,也是自己对职业生涯规划思考的一次 ...
  • 一个人开始废掉的标志是什么? 一,沉浸在舒适区里,每天做着无效的努力 那是他失业的第一天,早晨吃完老婆做的早餐,把孩子送到学校,假装去上班,其实不过是在公园呆坐了一天.晚上回来的时候,看着窗口亮着的灯,想想背着的30万房贷,孩子的补习费,爸 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号