UIToolbar setBackgroundColor不会完全改变颜色

时间:2013-10-16 10:51:15

标签: ios7 uitoolbar

我试图设置UIToolBar的背景颜色。 我尝试从IB的属性检查器中选择颜色,并尝试通过setBackgroundColor:[UIColor ...]以编程方式进行设置。

两种解决方案都有效,但只是部分解决方案:颜色混合了50%的白色和工具栏非常轻......没有显示我实际选择的颜色,但它的颜色要轻得多。< / p>

我如何选择UIToolBar我选择的实际颜色? 它可能很容易解决,但我找不到办法,也无法在线找到答案。

7 个答案:

答案 0 :(得分:99)

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 backgroundenter image description here

答案 1 :(得分:22)

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

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

我用它工作正常......

答案 2 :(得分:4)

除了Jageen的回答,您还必须将半透明属性设置为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;

答案 3 :(得分:1)

在IOS 10上试试这个:

let dummyToolbar = UIToolbar()
dummyToolbar.barTintColor = .lightGray
dummyToolbar.sizeToFit() // without this line it doesn't work

答案 4 :(得分:0)

UIToolbar * numberToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,0,320,50)];

  

numberToolbar.backgroundcolor = [UIColor redcolor];       numberToolbar.items = [NSArray arrayWithObjects:                            [[UIBarButtonItem alloc] initWithTitle:@“Clear”样式:UIBarButtonItemStyleBordered
  零];

[numberToolbar sizeToFit];
numberTextField.inputAccessoryView = numberToolbar;

答案 5 :(得分: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)

    }

答案 6 :(得分:0)

快速4 +:

toolBar.barTintColor = UIColor(red: 92/255, green: 216/255, blue: 255/255, alpha: 1)
toolBar.isTranslucent = false
toolBar.sizeToFit()