2016-07-01 9 views
1

Gibt es eine Möglichkeit UIToolBar mit UIBarButtonItem's in verschiedenen Farben zu haben,UIToolbar mit UIBarButtonItem ist in verschiedenen Farben

Zum Beispiel die erste Schaltfläche, um eine red Schriftfarbe haben sollte, wo der Rest der Tasten lightGray Schriftfarbe haben sollte .

Hinweis: Hier sind einige Überlegungen :)

  1. ich nicht UITabBar verwenden können, obwohl es durch Verrechnung Titel mit setTitlePositionAdjustment

  2. ich, dass Titelfarbe geändert [barButton setTitleTextAttributes:@{NSFontAttributeName:toolBarFont,NSForegroundColorAttributeName:themeColor} forState:UIControlStateNormal]; Verwendung werden kann wissen, erreicht werden kann, Ich kann die Titelfarbe eines Artikels nicht ändern.

  3. Kann nicht UIBarButtonItem mit customView verwenden, da die Breite der Elemente wird nicht automatisch angepasst.
+0

jeder UIBarButtonItem hat tintColor Eigenschaft und Sie können es für jedes Objekt einzeln UIBarButtonItem .... – user3441734

Antwort

1

jeder UIBarButtonItem hat tintColor Eigenschaft und Sie können es für jedes Objekt einzeln UIBarButtonItem ....

import UIKit 

let b1 = UIBarButtonItem(title: "Red", style: .Plain, target: nil, action: nil) 
b1.tintColor = UIColor.redColor() 

let b2 = UIBarButtonItem(title: "Green", style: .Plain, target: nil, action: nil) 
b2.tintColor = UIColor.greenColor() 

let item = UINavigationItem(title: "nav") 
item.leftBarButtonItem = b1 
item.rightBarButtonItem = b2 

dump(item.titleView?.tintColor) 
dump(item.leftBarButtonItem?.tintColor) 
dump(item.rightBarButtonItem?.tintColor) 

/* 
- nil 
▿ UIDeviceRGBColorSpace 1 0 0 1 
▿ Some: UIDeviceRGBColorSpace 1 0 0 1 #0 
▿ UIDeviceRGBColor: UIDeviceRGBColorSpace 1 0 0 1 
▿ UIColor: UIDeviceRGBColorSpace 1 0 0 1 
- NSObject: UIDeviceRGBColorSpace 1 0 0 1 
▿ UIDeviceRGBColorSpace 0 1 0 1 
▿ Some: UIDeviceRGBColorSpace 0 1 0 1 #0 
▿ UIDeviceRGBColor: UIDeviceRGBColorSpace 0 1 0 1 
▿ UIColor: UIDeviceRGBColorSpace 0 1 0 1 
- NSObject: UIDeviceRGBColorSpace 0 1 0 1 
*/ 
2

Sie können so wie das Bild hinzufügen Below und mehr als eine Taste in den UIToolbar

let playimg : UIImage = UIImage(named: "ic_playButton")! 
let settingimg : UIImage = UIImage(named: "ic_settingButton")! 

let playButton : UIBarButtonItem = UIBarButtonItem(image: playimg, 
      style: UIBarButtonItemStyle.Plain , 
      target: self, action: "playAudio") 
playButton.barTintColor = UIColor.redColor() 

let settingButton : UIBarButtonItem = UIBarButtonItem(image: settingimg, 
      style: UIBarButtonItemStyle.Plain , 
      target: self, action: "btnSettingAction") 
settingButton.barTintColor = UIColor.blueColor()  
self.navigationItem.rightBarButtonItems = [settingButton,playButton] 
Verwandte Themen