天天看點

23.navigationBar導覽列

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(@”我是左按鈕”);

}

================================

繼續閱讀