我正在尝试设置 a 的背景颜色UIToolBar
。我尝试从 IB 的属性检查器中选择颜色,并尝试通过setBackgroundColor:[UIColor ...]
.
两种解决方案都有效,但只是部分有效:颜色混合了 50% 与白色,工具栏很轻……没有显示我实际选择的颜色,而是更轻的版本。
我怎样才能拥有UIToolBar
我选择的实际颜色?这可能很容易解决,但我找不到方法,也无法在网上找到答案。
在你的下面写下代码viewDidLoad
self.navigationController.toolbar.barTintColor = [UIColor redColor];
它会将红色设置为您的工具栏背景。
他们在里面说Use barTintColor to tint the bar background
。
在 iOS 7 中,您需要设置barTintColor属性-
UIToolbar *doneToolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 584, 320, 44)];
doneToolbar.translucent=NO;
doneToolbar.barTintColor=[UIColor redColor];
[self.view addSubview:doneToolbar];
我用过它工作正常...
除了 Jageen 的回答,您还必须将 translucent 属性设置为 false。否则,颜色的饱和度和色调将比 barTintColor 指定的稍低。
// Sets to a specific color
self.navigationController.toolbar.barTintColor = [UIColor colorWithRed:6.0 / 255.0 green:52.0 / 255.0 blue:90.0 / 255.0 alpha:1.0];
// Without this, color will be faded slightly and not exactly what's specified above
self.navigationController.toolbar.translucent = false;
在 IOS 10 上试试这个:
let dummyToolbar = UIToolbar()
dummyToolbar.barTintColor = .lightGray
dummyToolbar.sizeToFit() // without this line it doesn't work
斯威夫特 4+:
toolBar.barTintColor = UIColor(red: 92/255, green: 216/255, blue: 255/255, alpha: 1)
toolBar.isTranslucent = false
toolBar.sizeToFit()
UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
numberToolbar.backgroundcolor = [UIColor redcolor]; numberToolbar.items = [NSArray arrayWithObjects: [[UIBarButtonItem alloc]initWithTitle:@"Clear" style:UIBarButtonItemStyleBordered
nil];
[numberToolbar sizeToFit];
numberTextField.inputAccessoryView = numberToolbar;
整个应用程序:
UIToolbar.appearance().barTintColor = TOOLBAR_BACKGROUND_COLOR
if let font = UIFont(name: "AvenirNext-DemiBold", size: 15) {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName:TOOLBAR_TITLE_COLOR], forState: UIControlState.Normal)
}