我使用XIB创建了自定义导航栏和右侧导航按钮。这很好用。但我需要自定义右侧导航按钮的色调颜色。此时此色调颜色与导航栏的色调颜色相同。这个右键我需要不同的颜色。有没有办法改变这种颜色?
谢谢。
据我所知,按钮继承了导航栏的色调颜色。您可以做的是为navigationItem设置自定义视图:
这是您使用SDK的一个按钮设置它的方法:
UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareButtonHandler:)];
[self.navigationItem setRightBarButtonItem:shareButton];
[shareButton release];
相反,你可以这样做:
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"yourImage.png" style:UIBarButtonItemStyleBordered target:self action:@selector(customButtonHandler:)]];
使用你在photoshop等制作的图像
你可以使用als an initWithCustomView:UIView
或initWithTitle:NSString
。
对不起没有“一线解决方案”:)
在iOS 5中有“外观”功能:
[[UIBarButtonItem appearance] setTintColor:YOUR_COLOR];
Swift 3.x
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : Color.primaryActionColor], for: .normal)
如果您有自定义视图的导航栏按钮项,则应首先转换为UIButton:
navigationItem.rightBarButtonItem?.customView as? UIButton
然后你可以添加UIButton的属性,例如:
button.setTitleColor(UIColor.black.withAlphaComponent(0.1), for: .normal)