navigationBar—導覽列,iOS7之後預設是透明的,iOS7之前預設是不透明的。
navigationBar在透明情況,與contentView會重合⼀部分區域。
navigationBar在不透明情況,contentView跟在navigationBar的下⾯。
navigationBar豎屏下預設⾼度44,橫屏下預設⾼度32.
==============================
設定導覽列的顔色
self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
設定背景圖檔
1. 圖檔高度 < 44 , 效果:平鋪
2. 圖檔高度 = 44 , 效果:隻覆寫導覽列
3. 圖檔高度 大于 44 小于64 ,效果:平鋪
4. 圖檔高度 = 44 , 效果:覆寫導覽列與狀态欄
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@”32064”] forBarMetrics:(UIBarMetricsDefault)];
iOS 7.0後 導覽列預設是半透明的
起始點從螢幕的左上角 開始計算
關閉半透明後 起始點從導覽列下面開始計算
self.navigationController.navigationBar.translucent = NO;
一般咱們是使用 預設的半透明狀态 不用考慮起始點的
==================================
導覽列上的按鈕 使用UIBarButtonItem
建立一個UIBarButtonItem按鈕可以用字元串辨別
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithTitle:@”左邊的” style:(UIBarButtonItemStylePlain) target:self action:@selector(barButtonItemClick:)];
把建立的UIBarButtonItem按鈕設定為左按鈕
self.navigationItem.leftBarButtonItem = barButton;
釋放
[barButton release];
==================================
建立一個UIBarButtonItem按鈕可以用圖檔辨別
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@”right”] style:(UIBarButtonItemStylePlain) target:self action:@selector(rightButtonClick:)];
把建立的UIBarButtonItem按鈕設定為右按鈕
self.navigationItem.rightBarButtonItem = rightButton;
釋放
[rightButton release];
建立一個UIBarButtonItem按鈕可以系統提供的辨別
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItemEdit) target:self action:@selector(barButtonItemClick:)];
把建立的UIBarButtonItem按鈕設定為左按鈕
self.navigationItem.leftBarButtonItem = barButton;
釋放
[barButton release];
// 設定頁面導航欄 标題
// self.navigationItem.title = @”首頁”;
// 在标題位置 設定一個視圖
UIView *titleView = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 150, 44)];
titleView.backgroundColor = [UIColor greenColor];
self.navigationItem.titleView = titleView;
[titleView release];
}
實作右按鈕 點選方法
-(void)rightButtonClick:(UIBarButtonItem *)barButton
{
NSLog(@”我是右按鈕”);
}
實作左按鈕 點選方法
- (void)barButtonItemClick:(UIBarButtonItem *)barButton
{
NSLog(@”我是左按鈕”);
}
================================