码迷,mamicode.com
首页 > 其他好文 > 详细

UINavigationController

时间:2017-08-12 15:26:49      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:anim   property   技术分享   track   child   rgb   管理   入栈   mod   

利用UINavigationController,能够轻松地管理多个控制器。轻松完毕控制器之间的切换,典型样例就是系统自带的“设置”应用

技术分享

UINavigationController的使用步骤
初始化UINavigationController
设置UIWindow的rootViewController为UINavigationController
依据详细情况,通过push方法加入相应个数的子控制器。



UINavigationController以栈的形式保存子控制器
@property(nonatomic,copy) NSArray *viewControllers;
@property(nonatomic,readonly) NSArray *childViewControllers;


使用push方法能将某个控制器压入栈
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;


使用pop方法能够移除控制器
将栈顶的控制器移除
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
回到指定的子控制器
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
回到根控制器(栈底控制器)
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;



1.导航栏的View显示的内容是栈顶控制器的View.
2.导航栏的内容由栈顶控制器的navigationItem属性决定.

UINavigationItem有下面属性影响着导航栏的内容
左上角的返回button
@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;
中间的标题视图
@property(nonatomic,retain) UIView          *titleView;
中间的标题文字
@property(nonatomic,copy)   NSString        *title;
左上角的视图
@property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;
UIBarButtonItem *rightBarButtonItem  右上角的视图
@property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;


// 改动下一个界面返回button的文字
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];


UINavigationController

标签:anim   property   技术分享   track   child   rgb   管理   入栈   mod   

原文地址:http://www.cnblogs.com/gavanwanggw/p/7350238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!