UINavigation控制器

導(dǎo)航欄的內(nèi)容/控件由棧頂控制器的navigationItem模型決定

  • 加入的類型:UIBarButtonItem

  • 注意:也可以UIBarButtonItem返回一個(gè)自定義View(initWithCustomView),然后可以setImage設(shè)置按鈕的圖片(正常和高亮),addTarget設(shè)置事件伶授,要sizeToFit設(shè)置大小!!!

  • 左上角的返回按鈕:backBarButttonItem

  • 注意:sizeToFit, self.navigationItem.rightBarButtonItem

  • 中間的文字:title:vc.navigationItem.title

  • 中間的視圖:titleView->加入view犁享,注意加入的控件要設(shè)置大小文兢。 [lable sizeToFit];

  • 左右兩邊的內(nèi)容:leftBarButtonItem/rightBarButtonItem

用navigationBar設(shè)置屬性

self.navigationController.navigationBar

導(dǎo)航條的背景顏色:

//用背景圖片設(shè)置背景顏色

- [nav.navigationBar setBackgroundColor:[UIColor redColor]];

導(dǎo)航條的背景圖片: //設(shè)置導(dǎo)航條的背景圖片娱两,只能用默認(rèn)模式

- [nav.navigationBar setBackgroundImage:forBarMetrics:UIBarMetricsDefault];

導(dǎo)航條的字體的顏色和大小 -NSFontAttributeName [nav.navigationBar setTitleAttributes:];

導(dǎo)航條的前景色,比如按鈕的渲染顏色 //nav的渲染顏色

[self.navigationController.navigationBar setTintColor:[UIColor colorWithWhite:barRenderValue alpha:1]];

用圖片設(shè)置navigetion為透明 方法中forBarMetrics的參數(shù)含義: UIBarMetricsDefault, 橫豎屏都有效果 UIBarMetricsCompact, 橫屏 有效果, 豎屏沒有 UIBarMetricsDefaultPrompt 橫屏 有效果, 豎屏 沒有 UIBarMetricsCompactPrompt

//隱藏nav

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];

//隱藏nav下面的線

[self.navigationController.navigationBar setShadowImage:[UIImage new]];

修改返回按鈕上的圖片-在返回之前的那個(gè)界面進(jìn)行設(shè)置

[self.navigationController.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"btn_backItem"]];

[self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"btn_backItem"]];

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStyleDone target:nil action:nil];```

#### 如設(shè)置UINavigation左邊/右邊的跳轉(zhuǎn)

加到navigationItem邑茄,注意此時(shí)的控制器要加入到了UINavigation時(shí))的right/left里面去

//注意是UIBarButtonItem類型

UIBarButtonItem *bar = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"menu_icon_bulb"] style:UIBarButtonItemStylePlain target:self action:@selector(push)];

//加入到self.navigationItem.rightBarButtonItem里面蛋叼。也可以是nitWithTitle等等。

self.navigationItem.rightBarButtonItem = bar;
  • pop方法會(huì)將控制器從棧(viewContrlloers/chirldControllers)移除掉

  • push方法不會(huì)移除控制器

storyBroad設(shè)置UINavigation

rootController/show(push-默認(rèn)加上了Item)

設(shè)置導(dǎo)航條

導(dǎo)航條默認(rèn)下的Scroll會(huì)有偏移量(64,0,0,0)

//設(shè)置不偏移

self.automaticallyAdijustsScrollViewInsets = NO;

//人為設(shè)置scroll的偏移量

self.tableView.contentInset = UIEdgeInsetmake(100,0,0,0);

//隱藏導(dǎo)航條

self.navigationController.navigationBar.hidden = YES;

設(shè)置導(dǎo)航條或者導(dǎo)航條上的控件的透明度是沒有效果的

//沒有效果

self.navigationController.navigationBar.alpha = 0;

思路:設(shè)置導(dǎo)航條的圖片/顏色-可以用來設(shè)置導(dǎo)航條/導(dǎo)航條上的控件的透明度

當(dāng)圖片為空的時(shí)候部蛇,導(dǎo)航條是半透明度的摊唇,當(dāng)用[[UIImage alloc]init]來創(chuàng)建一個(gè)空的圖片賦值,導(dǎo)航條的顏色是透明的

//模式必須是UIBarMetricsDefault默認(rèn)模式

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"hh"] forBarMetrics:UIBarMetricsDefault] ;

//設(shè)置導(dǎo)航條下面的線

[self.navigationController.navigationBar setShadowImage:[[UIImage alloc]init];

設(shè)置全局對象涯鲁,統(tǒng)一設(shè)置

+ (void)initialize

{     
    if(self == [WMNavController class] )
{
  • 全局對象
    -appearanceWhenContainedInInstancesOfClasses:
UINavigationBar *nav = [UINavigationBar

appearanceWhenContainedInInstancesOfClasses:@[[WMNavController class]]];

//字體的大小和顏色

NSMutableDictionary *dic = [NSMutableDictionary dictionary];

dic[NSFontAttributeName] = [UIFont systemFontOfSize:20];

dic[NSForegroundColorAttributeName] = [UIColor whiteColor];

[nav setTitleTextAttributes:dic];

//背景圖片NavBar64

[nav setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
  }
}

跳轉(zhuǎn)判斷

for (UIViewController *controller in self.navigationController.viewControllers)
{      
   if ([controller isKindOfClass:[HomeMainViewController class]])
   {          
     [self.navigationController popToViewController:controller animated:YES];
   } 
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巷查,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子抹腿,更是在濱河造成了極大的恐慌岛请,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件警绩,死亡現(xiàn)場離奇詭異崇败,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)肩祥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門后室,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人混狠,你說我怎么就攤上這事岸霹。” “怎么了将饺?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵贡避,是天一觀的道長痛黎。 經(jīng)常有香客問我,道長贸桶,這世上最難降的妖魔是什么舅逸? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮皇筛,結(jié)果婚禮上琉历,老公的妹妹穿的比我還像新娘。我一直安慰自己水醋,他們只是感情好旗笔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拄踪,像睡著了一般蝇恶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惶桐,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天撮弧,我揣著相機(jī)與錄音,去河邊找鬼姚糊。 笑死贿衍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的救恨。 我是一名探鬼主播贸辈,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼肠槽!你這毒婦竟也來了擎淤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤秸仙,失蹤者是張志新(化名)和其女友劉穎嘴拢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寂纪,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡席吴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弊攘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抢腐。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姑曙,死狀恐怖襟交,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伤靠,我是刑警寧澤捣域,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布啼染,位于F島的核電站,受9級(jí)特大地震影響焕梅,放射性物質(zhì)發(fā)生泄漏迹鹅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一贞言、第九天 我趴在偏房一處隱蔽的房頂上張望斜棚。 院中可真熱鬧,春花似錦该窗、人聲如沸弟蚀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽义钉。三九已至,卻和暖如春规肴,著一層夾襖步出監(jiān)牢的瞬間捶闸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工拖刃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留删壮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓序调,卻偏偏與公主長得像醉锅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子发绢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

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

  • 剛接觸導(dǎo)航控制器的人往往會(huì)感到一些困惑硬耍,例如標(biāo)題配置、顏色修改边酒、左右返回按鈕之類的配置经柴,寫這篇文不僅僅是提供解決問...
    VickyLanLan閱讀 1,978評論 0 1
  • 1.能夠使用代碼和storyboard設(shè)置collectionView的組頭和組尾視圖 2.能夠說出UIAppli...
    橙園大菜閱讀 475評論 0 0
  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,349評論 2 4
  • 逝去的,不僅僅是如水的漣漪墩朦, 還有你坯认,凝固的笑容剌痛著心, 那些年親切熟悉的聲音氓涣, 那些在我記憶深處的旁白牛哺, 已隨...
    楓聆渡閱讀 140評論 0 0
  • 每一個(gè)人都是長不大的孩子,從出生劳吠,學(xué)步引润,上學(xué),工作痒玩,退休淳附,死亡议慰,一個(gè)輪回都充滿著童真。但是奴曙,這份童真有些生銹了别凹,空...
    3c7cc0e800d0閱讀 254評論 0 1