2015-08-11 20 views
6

Chciałbym wiedzieć, jak zmienić czcionkę tekstu na BarButtonItem? Chociaż nie mogę ustawić setTitleTextAttributesZmień rozmiar czcionki i kolor czcionki UIBarButtonItem

class TextfieldLogin : UITextField { 

func INIT(){ 
    let numberToolbar = UIToolbar(frame: CGRectMake(0,0,320,50)) 
    numberToolbar.tintColor = UIColor.whiteColor() 
    numberToolbar.barTintColor = UIColor(red: 155.0/255, green: 14.0/255, blue: 45.0/255, alpha: 1.0) 

    numberToolbar.items = [ 
     UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil), 
     UIBarButtonItem(title: "DONE", style: UIBarButtonItemStyle.Plain, target: self, action: "close"), 
     UIBarButtonItem.setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(18.0),NSForegroundColorAttributeName : UIColor.redColor(),NSBackgroundColorAttributeName:UIColor.blackColor()], 
      forState: UIControlState.Normal)  ] 

    numberToolbar.sizeToFit() 

    } 
} 

Odpowiedz

3

Jak wszystkie UIBarItem „s można ustawić atrybuty tekstu przy użyciu:

- (void)setTitleTextAttributes:(NSDictionary *)attributes 
         forState:(UIControlState)state 

Można również użyć tintColor zmienić kolor tekstu.

Polecam trzymać się przewodnika stylu Apple w zakresie używania pogrubionych czcionek tylko na pozycji done.

12

Czy tego właśnie szukasz?

Objective-C:

[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
[UIFont fontWithName:@"Helvetica-Bold" size:20.0], NSFontAttributeName, 
[UIColor blackColor], NSForegroundColorAttributeName, 
nil] forState:UIControlStateNormal]; 

Swift:

let titleDict: NSDictionary = [NSFontAttributeName: "Helvetica-Bold"] 
self.numberToolbar.titleTextAttributes = titleDict 
+0

można dostosować swoją odpowiedź na szybkie, pytający potrzebują odpowiedź w Swift –

+0

Dzięki @ Anbu.Karthik. Tak, potrzebuję odpowiedzi w Swift. – CAN

+0

zaktualizowałem moją odpowiedź, aby włączyć Swift, nie używam Swift tak bardzo przepraszam, jeśli trzeba trochę go zmienić. Masz pomysł na ustawienie tych atrybutów w NavBar TitleTextAttributes, prawda? –