Ich versuche, einen UISwitch programmatisch zu erstellen (Keine IBOutlets oder IBActions) und ich kann nicht herausfinden, wie der Schalter zum Ändern von Zuständen gebracht wird, wenn er gedrückt wird. Ich dachte, dass ...Swift - UISwitch wird nicht aktualisiert, wenn ein-/ausgeschaltet
mySwitch.addTarget()
... würde jedes Mal, wenn der Schalter genannt werden sollte Ein/Aus geschaltet, aber das scheint nicht der Fall zu sein. Kann mir bitte jemand erklären, was ich falsch mache und wie ich das korrigieren kann.
import UIKit
import XCPlayground
let view = UIView(frame: CGRect(x: 0, y: 0, width: 320 * 0.75, height: 568 * 0.75))
view.backgroundColor = UIColor.whiteColor()
view.layer.borderColor = UIColor.grayColor().CGColor
view.layer.borderWidth = 1
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 320 * 0.75, height: 50))
label.text = "Label"
label.textAlignment = NSTextAlignment.Center
view.addSubview(label)
func switchChanged(sender: UISwitch!) {
if sender.on == true {
label.text = "Switch is ON"
} else if sender.on == false {
label.text = "Switch is OFF"
}
}
let mySwitch = UISwitch()
mySwitch.center = view.center
mySwitch.setOn(true, animated: false)
mySwitch.onTintColor = UIColor.redColor()
mySwitch.addTarget(label, action: Selector(switchChanged(mySwitch)), forControlEvents: UIControlEvents.ValueChanged)
view.addSubview(mySwitch)
XCPlaygroundPage.currentPage.liveView = view
Versuchen Sie nicht, mit ernsthaften Interaktionen wie diesem auf einem Spielplatz zu spielen. Es ist wie ein Frosch zu küssen: nichts passiert und es nervt den Frosch. – matt