`
icrwen
  • 浏览: 262299 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

iphone下的导航视图

 
阅读更多

UINavigationController的特点:

1)采用栈的形式来存放多个视图

2)当需要视图跳转是,多个视图按一定次序入栈,位于栈顶的视图显示出来。

3)当需要从当前视图返回前一视图是,可将栈顶的视图弹出,接着显示器下面的视图。

4)如此操作下去,直至返回到navigationController中的根视图为止。

使用技巧

1)在一个程序的人口类中,需要声明一个UINavigationController的属性,以便使用。

2)在这个navigationController属性在初始化时,可以指定其根视图。

3)如需视图跳转,将需要显示的ViewController通过其navigationController属性的pushViewController方法将其压入栈中

4)弹出视图时,可以通过popViewControllerAnimated方法将栈顶视图弹出。

注意事项:

1)每个ViewController都继承与UIViewController,故其自身都拥有一个navigationController属性和tabBarController属性。

2)当某个UIViewController位于某个tabBar

 

 

 

当表视图需要一个表视图单元的数据时调用,一般用cellForRowAtIndex参数作为数据来源的索引,直接作为数组下标即可。如果用全局变量作为数据索引,就有两个问题。

  1.全局变量需要与实际的数据在数组中的位置同步,需要添加全局变量增加或减小的代码。

  2.在重新绘制表格的时候需要把全局变量清零,就是当全局变量等于数组元素个数的时候。例如在拨号程序中,原数组中并不是每个元素的数据都是可用的表格单元数据,需要判断布尔属性,控制全局索引自增。在函数开头,添加判断全局变量是否等于数组元素个数的代码,将全局变量清零,否则在上下拖动表格时会出现数组下标越界的错误。

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

UINavigationController应用程序框架:

1)创建应用程序为窗口框架

2)设置窗口子视图为导航控制器

       #import<UIKit/UIKit.h>

      @interface  NavAppdelegate:NSObject<Appdelegate>{

      UIWindow * window;

                 UINavigationController * navController;

       }

       @property (nonatomic,retain)IBOutlet  UIWindow*window;

       @property (nonatomic,retian)IBOutlet  UINavigationController * navController;

        @end;

  在appdelegate.m中把navController添加为window的子视图

  在mainWindow.nib中添加一个Navigation Controller对象,并且从AppDelegate按住control键连接到   Navigaion Controller对象,连接到Appdelegate的输出口navController;

  3)创建根视图控制器

     创建根视图控制器类,注意是派生在UITableViewController的。

    在mainWindow.nib下,列表模式下展开Navigation Controller对象,然后选择其子对象View Conroller,

   苹果键+4打开身份识别设置Identify,设置class为根视图控制器

4)在根视图控制器中添加一个数组用来存放所有需要入栈的视图,注意最后一个入栈的视图是展现在最上面的。

5)定义其他需要导航的子视图

6)在根视图的数据源方法tableView:cellForRowAtIndex,获取出列单元,如果不存在就创建一个恶

7)在根视图的数据委托方法didSelectRowAtIndexPath:中把要入栈的最后那个视图压人栈

       [self.navController pushViewController:nextController animatied:YES];

 

 

 

 

 

分享到:
评论

相关推荐

    导航视图管理

    导航视图管理 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[MyViewController alloc] init]]; [window addSubview:nav.view];

    iPhone 导航栏相关应用

    导航栏和tableView的多级视图,可保存下个视图的内容

    《Iphone开发基础教程》第九章 导航控制器和表视图

    《Iphone开发基础教程》第九章 导航控制器和表视图

    Iphone开发导航控制器实现视图的分层切换

    而Iphone只有一个home键,所以我们会发现在Iphone的大部分应用中会在顶部有一个导航条,比如系统的设置界面,该导航条完全按照栈的方式来管理,所以可以很方便的实现后退的操作:今天下了春雨,心情不错,总结一下...

    iPhone界面设计指南

    1.11. iPhone标准按钮和图标 27 1.11.1. 工具栏和导航栏上的标准按钮 27 1.12. 标签栏上的标准图标 29 1.13. 创建自定义图标和图片 29 1.13.1. 程序图标 29 1.13.2. 小图标 30 1.13.3. 启动图片 30 1.13.4. 导航栏、...

    (0055)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Menu Controller

    类似于Path或Facebook应用的效果,...主视图的导航条有两个按钮,点击左边按钮,主视图会往右移动大概4/5,左边4/5的屏幕显示底下的子视图。点击右边按钮,则右边屏幕显示底下另外一个子视图。 注意:请在Mac下解压使用

    iphone开发入门经典源码

    11.4 3 震动iPhone 11.5 小结 11.6 问与答 11.7 作业 11.7 1测验 11.7.2 答素 11.7.3 练习 11.8 进一步探索 第12章 使用工具栏创建简单的多视图应用程序 12.1 探索单视图应用程序和多视图应用程序 12.2 创建多视图...

    《iPhone开发实战》.(Christopher Allen).pdf

     本书全面探讨了 iphone平台的两种编程方式 ——web开发和 sdk编程。全书结合示例对这两种编程方式的基本流程、基本原理和基本原则给出了详细而通俗的讲解。在 web开发方面,分别介绍了三个 iphone web库,即 ...

    (0039)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Reveal UIViewController

    类似于Facebook的ViewControllerContainer,在一个UIViewController上面加载另外一个UIViewController。通过用手指划动当前视图的导航条,就会显示出后面的视图。仅支持iOS5以上版本。 注意:请在Mac下解压使用

    Beginning iPhone Development with Swift 5, 5th Edition.pdf

    您将从设计基本用户界面开始,然后探索涉及多个屏幕的更复杂的界面,例如导航控制器、选项卡栏、工具栏、页面视图和拆分视图,这些在iPad和某些iPhone型号的大屏幕上特别有用。还有更多!从SWIFT 5开始的iPhone开发...

    iphone开发笔记

    退回输入键盘 2 CGRect 2 CGPoint & CGSize 3 设置透明度 3 设置背景色 3 自定义颜色 3 竖屏 3 横屏 3 状态栏高 3 导航栏、工具栏高 3 隐藏状态栏 3 ...自动适应父视图大小: 3 ...iphone更改键盘右下角按键的type 45

    iPhone开发秘籍.part2.rar

    3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.......

    iPhone开发秘籍.part1.rar

    3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.......

    iPhone开发秘籍.part4.rar

    3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.......

    iPhone开发基础教程PDF(含源代码)

     第9章 导航控制器和表视图  第10章 应用程序设置和用户默认设置  第11章 基本数据持久性  第12章 使用Quartz和OpenGL绘图  第13章 轻击、触摸和手势  第14章 我在哪里?使用Core Location定位功能  第15章 ...

    iphone3开发基础教程

    第9章 导航控制器和表视图 184 9.1 导航控制器 184 9.1.1 栈的性质 184 9.1.2 控制器栈 185 9.2 由6个部分组成的分层应用程序:Nav 185 9.3 构建Nav应用程序的骨架 188 9.3.1 创建第一级视图控制器 188 9.3.2 设置...

Global site tag (gtag.js) - Google Analytics