[英]Custom Back Button With Image
我想做的是改變后退按鈕的高度。 但是,據我所知,更改的唯一選擇是寬度。 所以,我想我會用我自己的、較小的圖像創建一個自定義的后退按鈕。 現在我已經使用 viewDidLoad 方法和下面的代碼完成了這項工作:
//Setup navigation bar
navigationController?.navigationItem.backBarButtonItem = UIBarButtonItem(image:UIImage(named:"back_arrow.png"), style:UIBarButtonItemStyle.Plain, target:nil, action:nil)
navigationController?.navigationItem.backBarButtonItem!.title = ""
但是,后退按鈕仍然是藍色的、大的,並且標題為“后退”。 我怎樣才能讓這段代碼正常工作? 調試器說它正在運行,但它沒有改變任何東西。
我將向您展示如何在整個應用程序中執行此操作,而不僅僅是一個頁面。
要更改后退按鈕的默認圖像,請將以下內容放入您的應用程序委托didFinishLaunchingWithOptions:
:
迅速:
let backArrowImage = UIImage(named: "customImage")
let renderedImage = backArrowImage?.imageWithRenderingMode(.AlwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = renderedImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = renderedImage
對象-c:”
UIImage *backArrowImage = [UIImage imageNamed:@"customImage"];
UIImage *renderedImage = [backArrowImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[UINavigationBar appearance].backIndicatorImage = renderedImage;
[UINavigationBar appearance].backIndicatorTransitionMaskImage = renderedImage;
要從按鈕中刪除“返回”文本,請將此類別添加到您的 AppDelegate.m 文件(或您自己的類別) :
還不知道如何在 Swift 中做到這一點,所以這里是 Obj-c 版本:
@implementation UINavigationItem (LuxeCustomization)
/**
Removes text from all default back buttons so only the arrow or custom image shows up
*/
-(UIBarButtonItem *)backBarButtonItem
{
return [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
}
@end
對於顏色,您必須在navigationItem.backBarButtonItem
欄上設置色調顏色,您也可以將navigationItem.backBarButtonItem
設置為nil
並將leftbarButtonItem
與自定義按鈕圖像一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.