如何更改 UINavigation leftBarButtonItem 的颜色

Posted

技术标签:

【中文标题】如何更改 UINavigation leftBarButtonItem 的颜色【英文标题】:How do I change the color of a UINavigation leftBarButtonItem 【发布时间】:2011-04-10 16:54:07 【问题描述】:

我希望我的 leftBarButtonItem 是一个红色按钮。我还没想好怎么做。我正在使用以下代码来构建导航栏和按钮。 任何帮助表示赞赏。 lq

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
navBar.barStyle = UIBarStyleBlack; 
navBar.translucent = YES;
[self.view addSubview:navBar];
[navBar release];

UIBarButtonItem *clearButton = [[UIBarButtonItem alloc] 
initWithTitle:@"Clear"
style:UIBarButtonItemStyleBordered
target:self 
action:@selector(myAction:)];

navItem.leftBarButtonItem = clearButton;
[navBar pushNavigationItem:navItem animated:false];
[navBar setDelegate:self];    
[navItem release];
[clearButton release]; 

【问题讨论】:

【参考方案1】:

也许您会在 this posting at Stack Overflow 中找到更好的解决方案,或者您可以使用 UISegmentedControl 来解决问题

UISegmentedControl *button = [[[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Clear", nil]] autorelease];
button.momentary = YES;
button.segmentedControlStyle = UISegmentedControlStyleBar;
button.tintColor = [UIColor redColor];
...
UIBarButtonItem *clearButton = [[UIBarButtonItem alloc] initWithCustomView:button];

navItem.leftBarButtonItem = clearButton;

【讨论】:

谢谢。我从来没有想过使用 UISegmentedControl。

以上是关于如何更改 UINavigation leftBarButtonItem 的颜色的主要内容,如果未能解决你的问题,请参考以下文章

情节提要:更改情节提要中指定的 UINavigation 控制器的根视图

如何更改导航栏上“返回”按钮的标题

如何在 UINavigation 中显示 UISearchBar?

如何设置 UINavigation 大小以适合背景图像大小?

使用 UINavigation 保存后如何返回?

在两个 UITableView 之间转换时如何模仿 UINavigation 动画行为