ios自定義圖片替換系統(tǒng)導(dǎo)航欄返回按鈕樣式

很多情況下的設(shè)計使得我們不能使用系統(tǒng)導(dǎo)航欄自帶的返回按鈕樣式,而我們又不想自定義導(dǎo)航欄,這要怎么辦呢?網(wǎng)上給的很多辦法都是自定義導(dǎo)航欄的leftBarButtonItem,當(dāng)然這可以解決這個問題,今天我要說的是另外一種方法,網(wǎng)上也有介紹,首先我們看一下系統(tǒng)的效果:


系統(tǒng)自帶樣式

然后給出另外一種方法(注:圖片必須為可拉伸圖片)


?UIImage *backButtonImage = [[UIImage imageNamed:@"back"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 25, 0, 0)];

?[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

?[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault];


很好理解,選擇我們要使用的圖片替換返回按鈕的圖片,然后使返回按鈕的標(biāo)題不顯示(注:此處在有的機型可能會出現(xiàn)問題,不建議使用此方法,建議寫一個UINavigationController的類別處理返回按鈕的標(biāo)題,下面附上方法)。


- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPushItem:(UINavigationItem *)item{

UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

item.backBarButtonItem = back;

return YES;

}


最后我們看一下效果:


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

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

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