web-dev-qa-db-fra.com

UIToolbar setBackgroundColor ne change pas complètement la couleur

J'essaie de définir la couleur d'arrière-plan d'une UIToolBar. J'ai essayé de sélectionner la couleur dans l'inspecteur d'attributs d'IB, puis de la définir par programme via setBackgroundColor:[UIColor ...].

Les deux solutions fonctionnent, mais seulement partiellement: la couleur se mélange à 50% environ avec le blanc et la barre d’outils est très claire… ne montre pas la couleur que j’ai choisie, mais une version beaucoup plus claire.

Comment puis-je avoir la UIToolBar de la couleur réelle que je choisis? C'est probablement très simple à résoudre, mais je ne peux pas trouver un moyen ni trouver des réponses en ligne non plus.

37
BkdD

Ecrivez ci-dessous le code dans votre viewDidLoad

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

Il définira la couleur rouge comme arrière-plan de votre barre d’outils.

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

Ils y disaient que Use barTintColor to tint the bar background.enter image description here

98
Jageen

Sous iOS 7, vous devez définir le paramètre barTintColor Property-

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

Je l'ai utilisé son fonctionne bien ...

22
Ashish

En plus de la réponse de Jageen, vous devez également définir la propriété translucent sur false. Sinon, la couleur aura légèrement moins de saturation et de teinte que celle spécifiée avec 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;
4
Spencer Evison

Essayez ceci sur IOS 10:

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

Tout au long de l'application:

    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)

    }
0
Yogesh Lolusare

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

numberToolbar.backgroundcolor = [Couleur rouge UIColor]; numberToolbar.items = [NSArray arrayWithObjects: [[UIBarButtonItem alloc] initWithTitle: @ style "Clear": UIBarButtonItemStyleBordered
néant];

[numberToolbar sizeToFit];
numberTextField.inputAccessoryView = numberToolbar;
0
Mutablegopi