如何调整UIBarButtonItem的高亮颜色?

时间:2012-01-24 00:19:27

标签: iphone objective-c cocoa-touch uikit uibarbuttonitem

我正在使用外观代理来全局调整我的颜色设置:

//Setup custom appearances
    if ([UINavigationBar respondsToSelector:@selector(appearance)]) {
        [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"header"] forBarMetrics:UIBarMetricsDefault];
        [[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:96.0/255.0 green:13.0/255.0 blue:11.0/255.0 alpha:1.0]];
        [[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:96.0/255.0 green:13.0/255.0 blue:11.0/255.0 alpha:1.0]];
        //rgb: 96, 13, 11
        //[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"header"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
        [[UIToolbar appearance] setTintColor:[UIColor blackColor]];
    }

这很好用,但是当我点击UINavigationbar中的UIBarButtonItem时,它会将颜色变为黑色。如何确保突出显示的状态不是黑色?

2 个答案:

答案 0 :(得分:1)

最后一行是:

[[UIToolbar appearance] setTintColor:[UIColor blackColor]];

也许再搞清楚?

答案 1 :(得分:0)

检查出来:UIBarButtonItem with color?

确保导入“QuartzCore / QuartzCore.h”以访问UIView的图层属性。要导入它,您需要将CoreGraphics框架添加到项目中。