Ich habe diese Symbolleiste in meinem Navigationscontroller. Nun, was ich versuche zu tun, ist, wenn der Benutzer ein Element (UIBarButtonItem
) in meiner Symbolleiste auswählt, dieses Element mit einer Hintergrundfarbe markiert, bis entweder der Benutzer die Auswahl des Elements aufhebt oder ein anderes Element auswählt. Wie würde ich das tun?Swift - UIToolbar Element ausgewählt Zustand
Hier meine Wähler Methoden für jedes Element der Werkzeugleiste wieder, ich verbinden sie über Storyboard:
@IBAction func addText(sender: AnyObject) {
annotationSelected = 3
}
@IBAction func drawCircle(sender: AnyObject) {
annotationSelected = 1
}
@IBAction func drawRectangle(sender: AnyObject) {
annotationSelected = 2
}
@IBAction func drawStamp(sender: AnyObject) {
annotationSelected = 4
}
Das ist alles, was ich getan habe. Hier ist ein Screenshot von meiner Symbolleiste:
Hier ist, was ich habe:
@IBOutlet var textToolButton: UIBarButtonItem!
@IBOutlet var circleToolButton: UIBarButtonItem!
@IBOutlet var rectangleToolButton: UIBarButtonItem!
@IBOutlet var stampToolButton: UIBarButtonItem!
dann
textToolButton.target = self
textToolButton.style = .Done
textToolButton.action = #selector(ViewController.barButtonPressed)
let selectedBackgroundColor = UIImage(color: .redColor())
textToolButton.setBackgroundImage(selectedBackgroundColor, forState: UIControlState.Highlighted, style: .Done, barMetrics: UIBarMetrics.Default)
und dann die Methode
func barButtonPressed(sender: UIBarButtonItem) {
print(sender)
annotationSelected = sender.tag
}
backg Runde ändert immer noch nicht die Farbe
Ich kann kein Bild hochladen. Weil ich keine 10 Reputationen habe. –
Dies ist für UIButtons nicht UIBarButtonItem – user979331
Es tut mir leid, ich kann meine Idee nicht ausdrücken. UIBarButtonItem * barButtonItem = [[UIBarButtonItem-Zuordnung] initWithCustomView: customButton]; so können wir customButton ändern, um diese Ziele zu erreichen. –