2011-03-15 65 views
1

我使用一个子类,覆盖drawRect方法如下设置背景图片为我的UINavigationBar的:UINavigationBar的自定义色彩停止按钮抽头颜色变化

- (void)drawRect:(CGRect)rect { 

    // Drawing code 
    UIImage *img = [UIImage imageNamed: @"nav_bar.png"]; 
    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 

    // Set tint colour 
    [self setTintColor:[UIColor blackColor]]; 

} 

正如你看到的,我已经还更改了导航栏的tintColor,以便我的导航栏按钮自动更改颜色。

我的问题是,当您点击(必须是效果的专有名称)其中一个导航栏按钮时,它不会像默认导航栏样式更改为不同/更浅的颜色。

我也在我的导航栏中使用了UISegmentControl,并且这两个细分项目都以相同的色调颜色显示,因此您无法确定当前选择了哪个,我认为这与我遇到的问题相同导航栏按钮。

任何帮助,非常感谢。

谢谢。

回答

1

我认为有颜色变化,但它不明显。您必须使用不同的tintColor,然后用自定义图像创建自定义的UIBarButtonItem

+0

Ah spot on!我将浅色改为红色,并且确实改变了。我想我可能不得不使用UIBarButtonItem的自定义图像。谢谢你的帮助。 – 2011-03-16 20:22:12