我想做的是改变后退按钮的高度。但是,据我了解,唯一可以更改的选项是宽度。所以,我想我会用我自己的小图片创建一个自定义后退按钮。现在,我使用 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 = ""
但是,后退按钮仍然是蓝色的,很大,并且标题为“返回”。我怎样才能让这段代码正常工作?调试器说它正在运行,但它没有改变任何东西。
最佳答案
我将向您展示如何在整个应用程序中执行此操作,而不仅仅是一个页面。
要更改后退按钮的默认图像,请将以下内容放入您的应用委托(delegate) didFinishLaunchingWithOptions:
:
swift :
let backArrowImage = UIImage(named: "customImage")
let renderedImage = backArrowImage?.imageWithRenderingMode(.AlwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = renderedImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = renderedImage
objective-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
关于ios - 带有图像的自定义后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936296/