Wie ordnen Sie ein IBOutlet programmatisch mit Swift?
Habe ich ein bar button item programmgesteuert zu einem view-controller:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Menu", style: .Plain, target: nil, action: nil)
}
Nun will ich weisen Sie das bar button item zu einem IBOutlet
programmgesteuert. Wie würde ich tun, dass mithilfe von Swift?
- Die
IB
vonIBOutlet
steht für ichinterface Builder und es stellt eine Verbindung vom interface builder, um den source-code. Die Zuweisung einerIBOutlet
programmgesteuert konnte nicht machen Sie weniger Sinn. Was bist du eigentlich machen willst?
InformationsquelleAutor Aaron | 2015-05-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
IB
vonIBOutlet
steht für ichnterface Builder und es stellt eine Verbindung vom interface builder, um den source-code. Die Zuweisung einerIBOutlet
programmgesteuert konnte nicht machen Sie weniger Sinn.Einer
IBOutlet
ist einfach eine Instanz-variable einer Klasse, die gebunden ist, um einen Teil der Schnittstelle oder über den interface builder. Wenn wir wollen, einen Verweis auf unseren button (in der gleichen Weise hätten wir eine Referenz, wenn wir in den interface builder), fügen wir einfach eine Eigenschaft der Klasse, und weisen Sie dann unsere neu erstellte Schaltfläche zu, dass:Und jetzt
someBarButton
ist unser "IBOutlet".Einige Hinweise...
Gibt es eine ziemlich gute chance, dass wir in Wirklichkeit nicht wollen, Dinge zu tun auf diese Weise.
Dadurch entsteht eine extra starke Bezugnahme auf die Schaltfläche (
self.navigationItem
hat bereits einen starken Bezug zu seinerleftBarButtonItem
).Werden Sie feststellen, dass, wenn Sie eine
IBOutlet
aus der interface-builder ist es, der alsweak
Eigenschaft. So vielleicht wir wollen eine schwache Eigenschaft?Aber können wir tatsächlich tun, uns eines besseren. Versuchen Sie, diese für Größe:
Nun
self.leftNavBarButton
ist im Grunde nur eine bequeme Möglichkeit für den Zugriff aufself.navigationItem.leftBarButtonItem
.Meinen Sie zum zuweisen einer Aktion auf die Schaltfläche in den code statt im IB. Ihre Frage lautet in einer etwas verwirrenden Weise, aber nie Verstand.
Verwenden Sie die
target
undaction
Argumente derUIBarButtonItem
Konstruktor.target
ist Ihre Steuerung, in der Regelself
;action
ist eine Zeichenfolge, die ein Selektor Unterschrift der Ereignishandler der Schaltfläche enthalten ist, dass der controller.