risposta

8

Questa domanda è stata risolta here. Fondamentalmente, è necessario creare un UIButton, configurarlo come si desidera e quindi inizializzare l'elemento Button Bar con UIButton come visualizzazione personalizzata.

99

Ho trovato un modo più semplice per cambiare solo il colore del titolo: iOS7:

UIBarButtonItem *button = 
[[UIBarButtonItem alloc] initWithTitle:@"Title" 
            style:UIBarButtonItemStyleBordered 
           target:nil 
           action:nil]; 
[button setTitleTextAttributes: 
      [NSDictionary dictionaryWithObjectsAndKeys: 
       [UIColor redColor], NSForegroundColorAttributeName,nil] 
              forState:UIControlStateNormal]; 

e prima iOS7:

UIBarButtonItem *button = 
    [[UIBarButtonItem alloc] initWithTitle:@"Title" 
            style:UIBarButtonItemStyleBordered 
            target:nil 
            action:nil]; 
[button setTitleTextAttributes: 
      [NSDictionary dictionaryWithObjectsAndKeys: 
       [UIColor redColor], UITextAttributeTextColor,nil] 
            forState:UIControlStateNormal]; 
+2

Certamente una buona soluzione se si dispone di iOS 5.0 o versioni successive. OP: controlla UIBarItem.h per i dettagli. – gschandler

+0

Ho cercato per anni per scoprire come cambiare il colore del testo, grazie mille !! Fortunatamente la maggior parte dei telefoni sono su IOS5 ora, quindi questa non è davvero una preoccupazione – AdamM

+0

Ottima risposta, grazie! –

3

sulla nota simile da Guvvy Ava è possibile modificare la dimensione del carattere come

[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal]; 
5

ci sono due modi per cambiare il colore del testo visualizzato UIBarButtonItem.

1)

[barButtonITem setTintColor:[UIColor redColor]]; 

2) oppure è possibile qualsiasi metodo di una classe UIColor. questo è solution.Althought realmente efficace per iOS 7 è possibile utilizzare NSForegroundColorAttributeName e può utilizzare

barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; 
0

Se si utilizza il sistema di navigazione voce pulsante della barra quindi di cambiare il colore della tinta pulsante utilizzare

self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; 

Per cambiare il colore del testo del pulsante usa anche il seguente codice.

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal]; 

Aggiungere la seguente riga di codice che viewController si desidera cambiare il colore

Problemi correlati