Ich habe Stunden damit verbracht, herauszufinden, wie man erstellen/dann eine benutzerdefinierte inputView
zu arbeiten bekommen. Ich habe ein Raster von TextInputs
(denke Scrabble-Board), die, wenn gedrückt, sollte eine benutzerdefinierte inputView
laden, um Text einzufügen.Benutzerdefinierte Eingabe Ansicht in Swift
Ich habe eine .xib Datei mit dem UI elements
für die benutzerdefinierte inputView
erstellt. Ich war in der Lage, eine CustomInputViewController
zu erstellen und die inputView
erscheinen, aber nie in der Lage, die tatsächliche TextInput
zu erhalten, um es zu aktualisieren Wert/Text.
Die Apple-Dokumentation hat Licht in die Arbeit gebracht und die vielen Tutorials, die ich gesehen habe, benutzen Obj-C (das ich wegen kleiner Dinge, die jetzt nicht mehr möglich sind, nicht umwandeln konnte) in schnell gemacht).
Was ist die übergreifende Architektur und die notwendigen Codeelemente, die implementiert werden sollten, um ein customInputView
für mehrere textInputs
(Delegate Kette, Controller, .xibs, Ansichten usw.) zu erstellen?
Erstellen Sie eine benutzerdefinierte Klassendatei und legen Sie diese als die Klasse für Ihre Xib in InterfaceBuilder. Dann können Sie mit Strg-Ziehen von UI-Elementen in Ihre Klassendatei (Assistent-Editor) um IBOutlets zu erstellen. Verwenden Sie diese Steckplätze in Ihrem Code, um die UI-Elemente zu aktualisieren. – zisoft
Ich konnte IBOutlets/IBActions für die Schaltflächen in der benutzerdefinierten Ansicht erstellen. Dies war notwendig, aber nicht ausreichend, um Schaltflächen in der customView zu erhalten, um textInput/keyboardFunctionality mit der Ansicht von TextInputs zu kommunizieren. – codycoats
Müssen Ihre Ansichten nicht das richtige Protokoll implementieren/einhalten? (UITextInput?). Möglicherweise müssen Sie ihnen auch sagen, dass sie Ersthelfer werden, wenn sie angezapft werden. Ich würde versuchen, Unterklasse UIControl vs UIView – nielsbot