iOS开发之UI篇(14)——UINavigationController
初中学历读大专结构
结构图中主要有三个部分: 顶部的UINavigationBar, 底部默认隐藏的UIToolBar, 以及中间content部分存放⼦视图控制器的view. UINavigationController是⼀个容器视图控制器 , 也就是说,它将其他视图控制器的内容嵌⼊其⾃⾝内部。我们可以使⽤其view属性访问导航控制器的视图。
虽然导航栏和⼯具栏视图的内容发⽣更改,但视图本⾝是不变的。实际更改的唯⼀视图是导航堆栈上最顶层视图控制器提供的⾃定义内容视图。管理的对象
管理的对象
如图, 导航控制器主要管理四个对象: ⼦视图控制器, 导航栏, ⼯具栏, 其delegate对象.
1. 导航控制器管理⼦视图控制器的⼊栈出栈以及显⽰等, 中间部分显⽰的view就是顶层视图控制器topViewController的view。
2. 导航栏始终存在并由导航控制器本⾝管理,导航控制器使⽤其⼦视图控制器提供的内容更新导航栏. ⽐如, 导航栏上的返回按钮后⾯紧跟上⼀个经典语句大全
word中如何删除空白页界⾯的title。
3. 类似的, 当toolbarHidden属性为NO时,导航控制器使⽤其⼦视图控制器提供的内容更新⼯具栏。
4. UINavigationController依赖其delegate对象来协调⾃⾝的⾏为. 例如, delegate对象(视图控制器)可以实现
UINavigationControllerDelegate的代理⽅法, 从⽽⾃定义动画过渡, 或者重新制定导航控制器的指向.
创建
怎么建一个新的新建模板App. 新建类(⽐如NavigationController)继承⾃UINavigationController, storyboard中拖⼊⼀个UINavigationController, class改为我们⾃⼰创建的类(NavigationController). 拖⼊的UINavigationController默认的rootViewController为UITableViewController, 删除这个UITableViewController, 然后从UINavigationController引⼀条线(按Ctrl或者⿏标右键)到原来的ViewController, 选择root view controller,
将⽬标视图控制器推到导航堆栈上,从右向左滑动,提供返回按钮. 如果未嵌⼊导航控制器,它将以模态⽅式显⽰.
⽰例:点击某⼀内容显⽰另⼀个视图界⾯铺满屏幕
Show
2. Show Detail
对应代码⽅法-showDetailViewController:sender:
⽤于拆分视图控制器(UISplitViewController)时,在展开的2列界⾯中替换详细/辅助视图控制器,否则如果折叠为1列,则将推⼊导航控制器.
⽰例:在"设置"中点击"通⽤"选项, iPhone推出完整界⾯铺满屏幕, iPad推出第2列界⾯.
Show Detail
上海政法大学
3. Present Modally
对应代码⽅法-presentViewController:animated:completion:
my day 英语作文呈现出的各种带动画效果的视图控制器,覆盖前⼀个视图控制器. 在iPhone中, 新的VC从底部动画向上弹出并覆盖整个屏幕; 在iPad上通常将新的VC显⽰为居中的框,使原来的VC变暗.
⽰例:在“设置”中选择“触摸ID和密码”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。