ste*_*ris 0 uinavigationbar uinavigationcontroller ios swift
我想做的是改变后退按钮的高度.但是,据我所知,改变的唯一选择是宽度.所以,我以为我会创建一个带有我自己的小图像的自定义后退按钮.现在我使用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 = ""
Run Code Online (Sandbox Code Playgroud)
但是,后退按钮保持蓝色,大,并且标题为"后退".如何才能使此代码正常工作?调试器说它正在运行,但它没有改变任何东西.
我将在整个应用程序中向您展示如何执行此操作,而不仅仅是一个页面.
要更改后退按钮的默认图像,请将以下内容放入应用程序委托中didFinishLaunchingWithOptions:
:
迅速:
let backArrowImage = UIImage(named: "customImage")
let renderedImage = backArrowImage?.imageWithRenderingMode(.AlwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = renderedImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = renderedImage
Run Code Online (Sandbox Code Playgroud)
OBJ-C:"
UIImage *backArrowImage = [UIImage imageNamed:@"customImage"];
UIImage *renderedImage = [backArrowImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[UINavigationBar appearance].backIndicatorImage = renderedImage;
[UINavigationBar appearance].backIndicatorTransitionMaskImage = renderedImage;
Run Code Online (Sandbox Code Playgroud)
要从按钮中删除"返回"文本,请将此类别添加到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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3539 次 |
最近记录: |