自定义后退按钮与图像

我想做的是改变后退按钮的高度。 但是,据我所知,改变的唯一选择是宽度。 所以,我想我会创建一个带有我自己的小图像的自定义后退按钮。 现在我使用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 = "" 

但是,后退按钮保持蓝色,大,并且标题为“后退”。 如何才能使此代码正常工作? 调试器说它正在运行,但它没有改变任何东西。

对于颜色,您必须在navBar上设置色调颜色,您还可以将navigationItem.backBarButtonItem设置为nil并将leftbarButtonItem与自定义按钮图像一起使用。

我将在整个应用程序中向您展示如何执行此操作,而不仅仅是一个页面。

要更改后退按钮的默认图像,请将以下内容放入应用程序委托didFinishLaunchingWithOptions: ::

迅速:

 let backArrowImage = UIImage(named: "customImage") let renderedImage = backArrowImage?.imageWithRenderingMode(.AlwaysOriginal) UINavigationBar.appearance().backIndicatorImage = renderedImage UINavigationBar.appearance().backIndicatorTransitionMaskImage = renderedImage 

OBJ-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