
1.导航控制器属于栈结构 本身不显示内容 需要一个主视图控制器来显示内容
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:fvc];
2.UINavigationController以栈的形式保存子控制器
@property(nonatomic,copy) NSArray *viewControllers;
@property(nonatomic,readonly) NSArray *childViewControllers;
3.使用push方法能将某个控制器压入栈
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
4.使用pop方法可以移除控制器
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
5.定制navigationBar
nc.navigationBar.barStyle = UIBarStyleDefault;
nc.navigationBar.translucent = YES;
nc.navigationBar.tintColor = [UIColor greenColor];
nc.navigationBar.barTintColor = [UIColor yellowColor];
[nc.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg.png"] forBarMetrics:UIBarMetricsDefault];
6.UINavigationItem这个在控制器中设置属性
@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;
@property(nonatomic,retain) UIView *titleView;
@property(nonatomic,copy) NSString *title;
@property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;
@property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;
@property(nullable,nonatomic,copy) NSArray<UIBarButtonItem *> *leftBarButtonItems
@property(nullable,nonatomic,copy) NSArray<UIBarButtonItem *> *rightBarButtonItems