(二)UINavigationBar(導航欄)

1熄赡、基本概念

 1)和導航控制器一樣宇攻,是一個容器抱虐,用來顯示導航欄上的試圖亩鬼,

 2) 豎屏44 橫屏32

2驹针、配置外觀

  1) 設(shè)置導航欄樣式

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
   
    例如:self.navigationController.navigationBar.barStyle =  UIBarStyleBlack;//黑色

  2)設(shè)置導航欄是否透明烘挫,設(shè)為不透明能夠屏蔽導航欄對試圖frame的影響

    self.navigationController.navigationBar.translucent = NO;//NO代表不透明

     1) 配置背景顏色

    self.navigationController.navigationBar.barTintColor = [UIColor magentaColor];//tint |t?nt|色彩
   
      2)配置背景圖片

    self.navigationController.navigationBar setBackgroundImage: forBarMetrics:

  3) 改變導航欄上默認按鈕顏色

    self.navigationBar.tintColor

3、配置內(nèi)容

 1)每個controller都有專屬的navigationItem

 1)通過配置不同控制器的navigationItem讓不同控制器的導航欄顯示不同的內(nèi)容

 2)navigationItem的常用屬性

   leftBarButtonItem
   rightBarButtonItem
   backBarButtonItem
   title
   titleView

 3) backBarButtonItem是由上一層控制器控制的

 4) 導航欄的prompt屬性柬甥,通過navigationItem來設(shè)置饮六,其主要作用是用于提示用戶。比如苛蒲,用戶正在請求網(wǎng)絡(luò)數(shù)據(jù)時卤橄,提示用戶數(shù)據(jù)正在加載。待加載完成后可以將它的值設(shè)置為nil臂外,取消顯示窟扑。 

4)具體的代碼做法

給控制器設(shè)置標題 

self.stitle = @"測試";

self.navigationItem.title = @"測試";

1.重新設(shè)置導航欄的標題樣式
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeContactAdd];
[btn1 addTarget:self action:@selector(clickTitle) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.titleView = btn1;

2.給導航設(shè)置右邊的barbuttonItem
UIBarButtonItem *reginBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(clickReigter)];
self.navigationItem.rightBarButtonItem = reginBarButtonItem;

UIBarButtonItem *style1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(clickReigter)];

3.給右邊設(shè)置多個barbuttonitem
self.navigationItem.rightBarButtonItems = @[reginBarButtonItem,style1];
//self.navigationItem.leftBarButtonItems =@[reginBarButtonItem,style1];

self.navigationItem.prompt = @"正在努力幫你加載";//增加一個提示(prompt提示)

5)UINavigationBar上面設(shè)置的button分類(請認真分析)

   1.添加系統(tǒng)自己的button(其他的控制器界面都會顯示)

  [self.navigationController.navigationBar addSubview:rigisterBtn];//設(shè)置的BarButton在每一個界面都會顯示

   2.添加自己當前控制器界面的BarButton(例如,登錄頁面右上角的注冊按鈕)
  
   (1)self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:rigisterBtn];
    
   (2)添加系統(tǒng)的BarButton(也只有當前系統(tǒng)有這個button)
       UIBarButtonItem *reginBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(clickReigter)];//刷新
self.navigationItem.rightBarButtonItem = reginBarButtonItem;(刷新按鈕)
   (3)設(shè)置多個按鈕漏健,按照數(shù)組的方式排列在導航欄上(例如在導航欄上添加刷新和返回按鈕)

6).導航欄的出現(xiàn)和隱藏方法(可以設(shè)置在界面轉(zhuǎn)換的方法里面)

 1.讓第二個控制器顯示的時候嚎货,將導航欄隱藏
 - (void)viewDidAppear:(BOOL)animated{

  [super viewDidAppear:animated];

  [self.navigationController setNavigationBarHidden:YES animated:YES ];

  或者 self.navigationBarHidden= YES;
}

當?shù)诙€控制器消失的時候蔫浆,不隱藏導航欄
- (void)viewDidDisappear:(BOOL)animated{

[super viewDidDisappear:animated];

[self.navigationController setNavigationBarHidden:NO animated:NO];
 或者 self.navigationBarHidden= NO;
}

7).重新設(shè)置導航欄的返回按鈕 繼承解決都返回的問題(新建一個類殖属,父類還是UIViewController)(定義一個類讓所有的控制器都遵守協(xié)議,都設(shè)置為返回樣式瓦盛,否則進入界面會成為主題放在導航欄的左邊)

 重新設(shè)置導航欄的返回按鈕   繼承解決都返回的問題
UIBarButtonItem *customBackItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self 

self.navigationItem.backBarButtonItem = customBackItem;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洗显,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子原环,更是在濱河造成了極大的恐慌墙懂,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扮念,死亡現(xiàn)場離奇詭異,居然都是意外死亡碧库,警方通過查閱死者的電腦和手機柜与,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門巧勤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弄匕,你說我怎么就攤上這事颅悉。” “怎么了迁匠?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵剩瓶,是天一觀的道長。 經(jīng)常有香客問我城丧,道長延曙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任亡哄,我火速辦了婚禮枝缔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚊惯。我一直安慰自己愿卸,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布截型。 她就那樣靜靜地躺著趴荸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宦焦。 梳的紋絲不亂的頭發(fā)上发钝,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音赶诊,去河邊找鬼笼平。 笑死,一個胖子當著我的面吹牛舔痪,可吹牛的內(nèi)容都是我干的寓调。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼锄码,長吁一口氣:“原來是場噩夢啊……” “哼夺英!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起滋捶,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痛悯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后重窟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體载萌,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扭仁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垮衷。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乖坠,靈堂內(nèi)的尸體忽然破棺而出搀突,到底是詐尸還是另有隱情,我是刑警寧澤熊泵,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布仰迁,位于F島的核電站,受9級特大地震影響顽分,放射性物質(zhì)發(fā)生泄漏徐许。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一怯邪、第九天 我趴在偏房一處隱蔽的房頂上張望绊寻。 院中可真熱鬧,春花似錦悬秉、人聲如沸澄步。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽村缸。三九已至,卻和暖如春武氓,著一層夾襖步出監(jiān)牢的瞬間梯皿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工县恕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留东羹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓忠烛,卻偏偏與公主長得像属提,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子美尸,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫冤议、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評論 4 62
  • 參考文章 navigationItem UINavigationItem UINavigationBar UIBa...
    劉大帥閱讀 52,663評論 37 147
  • 1.要說起小時候的事师坎,我是基本都忘記了恕酸,不知道是對自己的一種保護想要忘記,還是自己記性就不好胯陋。 能記起來的也不知道...
    靜靜心晴閱讀 135評論 0 0
  • 每個人生命中都有一個風箏蕊温,需要用盡全力去追袱箱。只有追到了,人生才算完滿寿弱。 這是一個關(guān)于犯錯犯眠,逃避,救贖與寬恕的故事症革。...
    OgCloud麥哥閱讀 267評論 0 1
  • 第一、快捷鍵 idea編輯快捷鍵1鸯旁、alt+enter 自動導入包2噪矛、shit+command+u 自動切換大小寫...
    清風沐沐閱讀 505評論 0 0