文章目录
  • 设置背景需要通过类别修改drawRect方法。5.0以上SDK提供了设置背景图片的方法。
1
2
3
4
5
6
7
8
9
10
// 5.0之前,类别扩展给UINavagationBar设置图片背景
@implementation UINavigationBar (CustomNavigationBar)
- (void)drawRect:(CGRect)rect{
UIImage * image = [UIImage imageNamed:@"image.png"];
[image drawInRect:rect];
}
@end
// 5.x新增了serBackgroundImage方法来设定图片背景
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:viewController];
[navigation.navigationBar setBackgroundImage:[UIImage imageNamed:@"image.png"] forBarMetrics:UIBarMetricsDefault];
  • 小结
    • 一个UINavigationController对应一个NavigationBar实例
    • 一个UINavigationController可以包含多个UIViewController
    • 每一个UIViewController对应一个UINavigationItem实例
    • UINavagationItem控制多个UIBarButtonItem
    • 一个UINavigationController控制着一个UIToolBar实例
    • UIToolBar中的UIBarButtonItem由当前的视图控制器管理,而不是由导航控制器控制
文章目录