文章目录
  • 设置背景需要通过类别修改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由当前的视图控制器管理,而不是由导航控制器控制
文章目录