三個(gè)導(dǎo)航欄Item的區(qū)別(leftBarButtonItem/backBarButtonItem/backItem)

三種導(dǎo)航欄Item為:
1、self.navigationItem.leftBarButtonItem
2、self.navigationItem.backBarButtonItem
3、self.navigationController.navigationBar.backItem
其中UINavigationItem有三種:backBarButtonItem、leftBarButtonItem、rightBarButtonItem。

一、leftBarButtonItem
如果設(shè)置了leftBarButtonItem,會(huì)替換掉backBarButtonItem。但可以設(shè)置leftItemsSupplementBackButtonYES,來(lái)同時(shí)顯示leftBarButtonItembackBarButtonItem。

leftBarButtonItem的自定義方式如下:


UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[backBtn setTitleColor:[UIColor colorWithRed:74 / 255.0 green:74 / 255.0 blue:74 / 255.0 alpha:1.0] forState:UIControlStateNormal];
[backBtn setTitle:@"  返回" forState:UIControlStateNormal];
[backBtn setImage:[UIImage imageNamed:@"NewBackButton"] forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
[backBtn sizeToFit];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];

- (void)popViewController:(UIButton *)sender {
    [self.navigationController popViewControllerAnimated:YES];
}

二、backBarButtonItem
backBarButtonItem是返回按鈕,可以自定義。注意:假如想實(shí)現(xiàn)第二個(gè)ViewControllerbackBarButtonItem,就要先在第一個(gè)ViewController中設(shè)置backBarButtonItem。

返回按鈕backBarButtonItem的自定義方式如下:


UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] init];
[backBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:74 / 255.0 green:74 / 255.0 blue:74 / 255.0 alpha:1.0], NSFontAttributeName:[UIFont systemFontOfSize:18]} forState:UIControlStateNormal];
backBarButtonItem.title = [NSString stringWithFormat:@"返回"];
backBarButtonItem.image = [UIImage imageNamed:@"NewBackButton"];
self.navigationItem.backBarButtonItem = backBarButtonItem;

這樣才會(huì)在第二個(gè)ViewController中有效果出現(xiàn),顯示返回按鈕樣式;?否則,無(wú)設(shè)置效果。

三、backItem
backItem只是一個(gè)只讀屬性,不能設(shè)置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容