导航栏后退按钮颜色

时间:2011-02-15 13:07:21

标签: iphone

我无法更改导航栏后退按钮的颜色。有帮助吗?我自定义了UINavigationBar类,但我无法更改后退按钮的颜色。

UINavigationBar class code

#import 
#import "UINavigationBar.h"

@interface UINavigationBar ( Category )
{

}

.m file code

- (void) drawRect:(CGRect)rect 
{

    [[UIImage imageNamed:@"top.png"] drawInRect:rect];
    self.tintColor = [UIColor colorWithRed:38 green:65 blue:82 alpha:1];    
}

我无法更改后退按钮的颜色。

5 个答案:

答案 0 :(得分:9)

使用此功能,您可以更改所有导航按钮的颜色:

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];

用以下内容替换redColor以调整按钮的颜色:

colorWithRed:0/255.0 green:144/255.0 blue:200/255.0 alpha:1.0// pick your color using this.

注意:适用于iOS 5和>

答案 1 :(得分:2)

将此用于导航控制器中的更改后退箭头颜色

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed: 127.0/255.0f green:127.0/255.0f blue:127.0/255.0f alpha:1.0];

答案 2 :(得分:1)

您需要在自定义视图中使用 UIBarButtonItem 。像这样:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 30)];
[button addTarget:target action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[button setImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"back_button_tap.png"] forState:UIControlStateHighlighted];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

然后你可以把按钮放到导航栏上,通常是在带有UINavigationController的控制器中:

self.navigationItem.leftBarButtonItem = buttonItem;

答案 3 :(得分:0)

在iOS7中,你应该用

替换按钮的颜色
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

答案 4 :(得分:0)

在swift和iOs 7和8中写下这个:

 self.navigationController.navigationBar.tintColor = UIColor.whiteColor() //<-- whiteColor is an example!!