無標題文章

多視圖應用程序中,我們常常使用到自定義UINavigationBar來完成導航條的設置。

1.獲取導航條

UINavigationBar*navBar =self.navigationController.navigationBar;

2.設置導航條樣式(使用系統自帶樣式)

[navBarsetBarStyle:UIBarStyleDefault];

分別有如下幾種樣式:

typedefNS_ENUM(NSInteger, UIBarStyle) {

UIBarStyleDefault=0,

UIBarStyleBlack=1,

UIBarStyleBlackOpaque=1,// Deprecated. Use UIBarStyleBlack

UIBarStyleBlackTranslucent =2,// Deprecated. Use UIBarStyleBlack and set the translucent property to YES

};

從字面我們就能了解這4種樣式的大概意思:

分別為:

UIBarStyleDefault:默認樣式

UIBarStyleBlack:黑色

UIBarStyleBlackOpaque:黑色不透明

UIBarStyleBlackTranslucent:黑色透明

注意:

我們發現,在后面兩個標記為Deprecated,我們知道使用后面兩種將不被提倡。

從枚舉中,我們也可以看出:UIBarStyleBlack=1和UIBarStyleBlackOpaque=1表示為一樣的。

后來,發現增加了一個方法:[navBarsetTranslucent:YES];用來指示是否透明。

所以,我們使用UIBarStyleDefault和UIBarStyleBlack來定義UINavigationBar樣式,并且用setTranslucent:方法來設置透明與否。

3.自定義導航條顏色

如果,僅僅使用這4種(2種樣式*是否透明),難免太遜了,必須能自定義UINavigationBar樣式啊。

if([navBarrespondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){

// UIBarMetricsLandscapePhone

[navBarsetBackgroundImage:[UIImageimageNamed:@"圖片名稱"]forBarMetrics:UIBarMetricsDefault];

}

setBackgroundImage方法的第二個參數,需要解釋一下:

UIBarMetricsDefault:用豎著(拿手機)時UINavigationBar的標準的尺寸來顯示UINavigationBar

UIBarMetricsLandscapePhone:用橫著時UINavigationBar的標準尺寸來顯示UINavigationBar

希望對您有所幫助!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在APPdelegate中添加這段代碼,即可自定義navigationbar的返回按鈕 UIImage *back...
    凡凡飯飯閱讀 138評論 0 0
  • vue插件介紹 2. 插件分類 主要注冊與綁定機制如下: export default{install(Vue...
    Osmond_wang閱讀 339評論 0 1
  • spring官方文檔:http://docs.spring.io/spring/docs/current/spri...
    牛馬風情閱讀 1,732評論 0 3
  • 今天真的好累好累,這兩天熬夜不停熬夜,昨晚熬到了兩點多,今天早上鬧鐘響的時候有想砸了手機的沖動,但是還是逼著自己起...
    普拉噠閱讀 140評論 0 0
  • 春節越來越近了,有一天陽光很好,走在寬敞的馬路上,突然覺得好像北京。 蔚藍的天、高聳的寫字樓、折射出炫目光線的玻璃...
    青年西米閱讀 532評論 0 5