- UINavigationController的使用步骤
- 初始化UINavigationController
- 设置UIWindow的rootViewController为UINavigationController
- 根据具体情况,通过push方法添加对应个数的子控制器
- UINavigationController的子控制器
- 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;
如何修改导航栏的内容
- 导航栏的内容由栈顶控制器的navigationItem属性决定
- UINavigationItem有以下属性影响着导航栏的内容
- 左上角的返回按钮
@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;