39

我正在尝试设置 a 的背景颜色UIToolBar。我尝试从 IB 的属性检查器中选择颜色,并尝试通过setBackgroundColor:[UIColor ...].

两种解决方案都有效,但只是部分有效:颜色混合了 50% 与白色,工具栏很轻……没有显示我实际选择的颜色,而是更轻的版本。

我怎样才能拥有UIToolBar我选择的实际颜色?这可能很容易解决,但我找不到方法,也无法在网上找到答案。

4

7 回答 7

105

在你的下面写下代码viewDidLoad

self.navigationController.toolbar.barTintColor = [UIColor redColor];

它会将红色设置为您的工具栏背景。

Reference link https://web.archive.org/web/20160321155823/https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/Bars.html#//apple_ref/doc/uid/TP40013174- CH8-SW5

他们在里面说Use barTintColor to tint the bar background在此处输入图像描述

于 2013-10-16T11:53:51.573 回答
27

在 iOS 7 中,您需要设置barTintColor属性-

UIToolbar *doneToolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 584, 320, 44)];
doneToolbar.translucent=NO;
doneToolbar.barTintColor=[UIColor redColor];
[self.view addSubview:doneToolbar];

我用过它工作正常...

于 2014-01-13T05:21:30.503 回答
6

除了 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;
于 2017-05-24T02:01:17.410 回答
1

在 IOS 10 上试试这个:

let dummyToolbar = UIToolbar()
dummyToolbar.barTintColor = .lightGray
dummyToolbar.sizeToFit() // without this line it doesn't work
于 2017-04-28T08:14:46.767 回答
1

斯威夫特 4+:

toolBar.barTintColor = UIColor(red: 92/255, green: 216/255, blue: 255/255, alpha: 1)
toolBar.isTranslucent = false
toolBar.sizeToFit()
于 2019-09-17T08:57:39.183 回答
0

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;
于 2014-12-12T05:31:56.403 回答
0

整个应用程序:

    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)

    }
于 2015-11-18T07:17:16.157 回答