@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];