我想通过更改其背景颜色来指示打开或关闭特定UIBarButtonItem
。 Mobile Safari使用此功能来指示隐私浏览是打开还是关闭:
我怎么能这样做,因为backgroundColor
上没有UIBarButtonItem
属性?
答案 0 :(得分:20)
创建UIButton
并将其用作UIBarButtonItem
的自定义视图。然后,在按钮的图层上设置backgroundColor
:
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"Test"];
button.layer.backgroundColor = [UIColor redColor].CGColor;
button.layer.cornerRadius = 4.0;
UIBarButtonItem* buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.toolbarItems = @[buttonItem];
答案 1 :(得分:1)
您只需使用两张图片即可。一个用于选择,一个用于未选择
- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
以上功能可以帮助您完成此操作