簡體   English   中英

帶有圖像的自定義后退按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM