iOS 修改navigationController返回按钮颜色和文字
引言
在iOS開發(fā)過程中,NavigetionController(導(dǎo)航欄)算是比較常用的一種控件,而系統(tǒng)自帶的樣式有時(shí)候往往不是我們所需要的,這時(shí)候就要求我們必須自定義或修改一下。
?
修改返回鍵的標(biāo)題
1、錯(cuò)誤使用:以下三種方式都不能修改返回鍵的title(方式三可以修改NavigetionItem的leftBarButtonItem,但不能修改backBarButtonItem的樣式)
//最近iOS項(xiàng)目中要求導(dǎo)航欄的返回按鈕只保留那個(gè)箭頭,去掉后邊的文字,在網(wǎng)上查了一些資料,最簡(jiǎn)單且沒有副作用的方法就是[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];// 方式一self.navigationItem.leftBarButtonItem.title = @"返回";// 方式二self.navigationItem.backBarButtonItem.title = @"返回";// 方式三UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0, 0, 80, 49);[button setTitle:@"返回" forState:UIControlStateNormal];[button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];self.navigationItem.backBarButtonItem = backButtonItem;---------------------?
2、正確使用:
// 細(xì)節(jié): 本界面上設(shè)置, 下個(gè)界面上顯示
// 細(xì)節(jié): 本界面上設(shè)置, 下個(gè)界面上顯示// 方式一self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];// 方式二UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] init];backButtonItem.title = @"返回";self.navigationItem.backBarButtonItem = backButtonItem;---------------------?
修改返回鍵的顏色
由圖可以看出,想要修改返回鍵的顏色可以:
?
最后說一下使用pushViewController切換到下一個(gè)視圖時(shí),navigation controller按照以下3條順序更改導(dǎo)航欄的左側(cè)按鈕(本段摘自網(wǎng)絡(luò)):
1、如果B視圖有一個(gè)自定義的左側(cè)按鈕(leftBarButtonItem),則會(huì)顯示這個(gè)自定義按鈕;
2、如果B沒有自定義按鈕,但是A視圖的backBarButtonItem屬性有自定義項(xiàng),則顯示這個(gè)自定義項(xiàng);
3、如果前2條都沒有,則默認(rèn)顯示一個(gè)后退按鈕,后退按鈕的標(biāo)題是A視圖的標(biāo)題;
擴(kuò)展1:
?
轉(zhuǎn)載于:https://www.cnblogs.com/gaozhang12345/p/10818481.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的iOS 修改navigationController返回按钮颜色和文字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数初识(文字总结)
- 下一篇: sqlite3 C接口基础