牛骨文教育服务平台(让学习变的简单)

UINavigationController详解(二)UIN

@UINavigationBar-----(是一个View)基本介绍

1.导航栏,和导航控制器一样,是一个容器用来显示提供的其他对象的内容

2.导航栏显示的内容,通过设置UINavigationItem展示,每个controller都有专属的navigationItem

3.导航栏的高度:

    iPhone :     竖屏 44    横屏  32

    iPad:          44

4.配置外观:背景图片,背景颜色,style等等

   代码样例:

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    self.navigationController.navigationBar.translucent = NO;
    self.navigationController.navigationBar.barTintColor = [UIColor orangeColor];
    self.navigationController.navigationBar.tintColor = [UIColor redColor];
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavBar_64"] forBarMetrics:UIBarMetricsDefault];

@UINavigationItem------是一个NSObject(主要按钮UIBarButtonItem)

1.提供navigationBar的显示内容.导航栏是唯一的,每个controller都要设置

2.常用属性:leftBarButtonItem(leftBarButtonItems 组合,用数组存),rightBarButtonItem,backBarButtonItem,title,titleView

3.UIBarButtonItem,navigationBar上显示的按钮,navigationItem上需要设置的,可以使用系统提供的

4.backBarButtonItem是上一级navigationItem控制的

5.*@property(nonatomic,copy)   NSString* prompt;     **// Explanatory text to display above the navigation bar buttons.*

@这里重点介绍下@

UIBarButtonItem 是一个 UIBarItem,是一种专门放在bar上的特殊button,UIBarItem是一个NSObject

// 系统自带的符号

1.UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(selectLeftAction:)];

UIBarButtonSystemItemAction的风格,这是系统自带的按钮风格,看下图,你不用一个个试验,你也知道想用那个item,如下图:

// 自定义文字---backBarButtonItem  右边"Back"按钮

2. self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];

// 设置所有UINavigationBar上文本的属性

NSDictionary *attributes =@{NSFontAttributeName: [UIFont fontWithName:@"Futura"size:18],

 NSForegroundColorAttributeName: [UIColor redColor]};

[[UINavigationBar appearance]setTitleTextAttributes:attributes];