Iphone开发(十三)用导航控制器实现视图的分层切换(UINavigationController)
来源:互联网 发布:韩国网络摄像头ip破解 编辑:程序博客网 时间:2024/05/15 13:57
Iphone和android手机的一个不同的地方是,大部分的android手机都有返回键,而Iphone只有一个home键,所以我们会发现在Iphone的大部分应用中会在顶部有一个导航条,比如系统的设置界面,该导航条完全按照栈的方式来管理,所以可以很方便的实现后退的操作:
今天下了春雨,心情不错,总结一下导航条的使用;
导航栏这个控件称为UINavigationController,常常用来作根视图控制器,生成对象后可以用该对象push UIViewController的对象,这样该UIViewController的对象就加到导航条的下部了,可以给视图控制器加title,会显示在导航栏上,也可以修改返回键的title,如右上图的左上角的setting按钮,如果默认的话是没有viewController的title的,返回键的title会是viewController的名字,接下来我们要用Xcode4.3中最基础的模板EmptyApplication来从头创建一个最原始的导航demo;
首先,新建一个project,选择EmptyApplication模板;
这样生成后是只有委托类的:
然后new两个ViewController出来,为了方便操作记得要附上xib文件;起名为FirstViewController,SecondViewController,在FirstViewController的xib文件中拖上一个button,连接一个nextClick方法用来切换到下一个视图;
现在开始操作代码
AppDelegate.h:
- <span style="font-size:18px;">#import <UIKit/UIKit.h>
- @interface AppDelegate : UIResponder <UIApplicationDelegate>
- @property (strong, nonatomic) UIWindow *window;
- @property (strong, nonatomic) UINavigationController *naviController;
- @end</span>
AppDelegate.m:
- <span style="font-size:18px;">#import "AppDelegate.h"
- #import "FirstViewController.h"
- @implementation AppDelegate
- @synthesize window = _window;
- @synthesize naviController;
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- //生成一个ViewControlle对象作为导航栏的第一个视图;
- FirstViewController *firstView = [[FirstViewController alloc]init];
- naviController = [[UINavigationController alloc]initWithRootViewController:firstView];
- //将该导航栏作为根视图控制器;
- self.window.rootViewController = naviController ;
- [self.window makeKeyAndVisible];
- return YES;
- }
- </span>
FirstViewController.h:
- <span style="font-size:18px;">#import <UIKit/UIKit.h>
- @interface FirstViewController : UIViewController
- - (IBAction)nextClick:(id)sender;
- @end</span>
FirstViewController.m:
- <span style="font-size:18px;">#import "FirstViewController.h"
- #import "SecondViewController.h"
- @interface FirstViewController ()
- @end
- @implementation FirstViewController
- - (IBAction)nextClick:(id)sender {
- SecondViewController *secondView = [[SecondViewController alloc]init];
- [self.navigationController pushViewController:secondView animated:YES];
- }</span>
上面只是贴出了需要修改的代码,其余自动生成的都不用管,甚至SecondViewController都没有进行操作,所以我们会看到这样一种最简单的导航控制效果;
转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7484341
- Iphone开发(十三)用导航控制器实现视图的分层切换(UINavigationController)
- Iphone开发(十三)用导航控制器实现视图的分层切换(UINavigationController)
- Iphone开发(十三)用导航控制器实现视图的分层切换(UINavigationController)
- Iphone开发用导航控制器实现视图的分层切换(UINavigationController)
- 导航控制器实现视图的分层切换
- 导航视图控制器UINavigationController
- UINavigationController 导航视图控制器
- iPhone开发之导航控制器的预习——UINavigationController导航控制器的学习
- UINavigationController(导航视图控制器)的基本设置
- UINavigationController视图控制器切换(一)
- UINavigationController视图控制器切换(二)
- UINavigationController视图控制器切换(一)
- swift uinavigationController 视图控制器切换(二)
- 【iOS开发-26】利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值
- 【iOS开发-26】利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值
- iOS开发学习心得(2)----关于 iPhone 导航控制器 (UINavigationController)
- UINavigationController(导航控制器)
- UINavigationController ( 导航控制器 )
- vim templates模板用法介绍
- gdb 基本命令总结
- Android Intent Action 大全
- 在 Windows 上安装和使用 GNUstep 和 Objective-C
- 如何在linux上添加新硬盘
- Iphone开发(十三)用导航控制器实现视图的分层切换(UINavigationController)
- Database类编译报错问题解决方案
- http://www.w3.org/TR/html4/loose.dtd 影响滚动条解决方法
- C#winform treeView checkbox全选反选
- webService的概述
- Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
- android开发之Dialog
- 判断SD卡是否已经挂载
- What is serialVersionUID?