Ich denke, Sie können mehr Glück mit einer vollen UIViewController
Instanz anstelle von UIActionSheet
haben. Das Hinzufügen eines Tastaturverhaltens zu einem Aktionsblatt ist schwierig, wenn nicht unmöglich.
Wenn Sie eine UIViewController
Unterklasse erstellen, können Sie Ihren Anwendungsdelegaten in -application:didFinishLaunchingWithOptions:
präsentieren. Angenommen, Sie verwenden eine Art von UIViewController
oder UINaviagtionController
für Ihre Hauptschnittstelle, können Sie den Passwortsichtcontroller beim Start unter Verwendung von UIViewController
- presentModalViewController:animated:
modal präsentieren lassen.
Sobald Sie Ihren Passwort-View-Controller haben, müssen Sie eine UITextField
für die Passworteingabe hinzufügen. Machen Sie das Textfeld zu firstResponder
(indem Sie becomeFirstResponder
darauf aufrufen), und dies wird dazu führen, dass die Tastatur angezeigt wird. Sie können auch die Eigenschaft keyboardAppearance
im Textfeld festlegen, um zu steuern, wie die Tastatur angezeigt wird, wenn Sie zum Beispiel auf eine numerische PIN im Vergleich zu einem vollständigen Passwort beschränken möchten. Es kann auch wünschenswert sein, die Eigenschaft secureTextEntry
einzustellen, um zu verhindern, dass das tatsächliche Passwort angezeigt wird. Für beide Optionen siehe das Protokoll UITextInputTraits
unter UITextField
.
Um die App sicher zu machen, würden Sie Ihren Passwortsicht-Controller erstellen, so dass er keine Schaltflächen oder Navigationsoptionen außer einer Schaltfläche "Senden" oder "Anmelden" hat. Wenn der Benutzer das richtige Kennwort eingibt, wird der Modalansicht-Controller geschlossen und eingelassen. Wenn das Kennwort nicht bekannt ist, besteht die einzige Möglichkeit darin, auf die Schaltfläche Start zu tippen, um die Anwendung zu beenden, da sie nicht fortfahren kann jenseits des Modal View Controllers.
Warum ist dieses Community-Wiki? – kennytm
Ich dachte, etwas, das Menschen mit dem gleichen Problem helfen würde, sollte in Community-Wiki gehen. Täusche ich mich? Ich entschuldige mich wenn es so ist. – Thomas
Sie sollten nach einem Mod fragen, um dies zu löschen und eine weitere Frage ohne Community-Wiki zu stellen. –