Input-mask-ios: Feste Symbole in der Maske

Erstellt am 20. Feb. 2017  ·  3Kommentare  ·  Quelle: RedMadRobot/input-mask-ios

Es wird großartig sein, die Möglichkeit zu haben, feste Symbole zu verwenden.

Zum Beispiel brauche ich die Maske für die Telefonnummer: +7 (111) 111-11-11
Also laut Dokumentation kann ich für diesen Fall eine Maske erstellen: +7([000])[000]-[00]-[00]
Und das ist in Ordnung. Aber ich brauche den Benutzer kann nicht die ersten zwei Symbole (+7) löschen. Es muss also jedes Mal "+7" im Textfeld sichtbar sein.

enhancement question rejected

Hilfreichster Kommentar

@TikhonovAlexander, hey. @razalur könnte auch interessiert sein.

Vielen Dank, dass Sie mich an diese Funktionsanfrage erinnern. Wir hatten tatsächlich ein kurzes Gespräch mit zwei Evangelisten von Apple über einen nicht bearbeitbaren Text im Textfeld.

TL;DR: Wir werden diese Funktion nicht unterstützen.

Es verletzt HIG nicht direkt, obwohl es eine schlechte Idee ist, die Kontrolle des Benutzers über die App einzuschränken und die Entscheidungsfindung zu übernehmen. Native Textfelder verhalten sich nicht so, und das iOS SDK enthält bereits eine Komponente für statischen Text – ein UILabel .

Sie können eine native Rücktaste der Tastatur nicht deaktivieren oder ausgrauen, und nicht löschbare Symbole führen zu Verwirrung, da der Endbenutzer nicht feststellen kann, ob es sich um ein beabsichtigtes Verhalten oder einen Fehler handelt. "Warum genau funktioniert meine Rücktaste nicht?" – und Sie können keinen klaren Hinweis geben.

Aus unserer Sicht des Bibliotheksdesigns ist es offensichtlich, dass der Entwickler ein "festes" Symbol in die Mitte der Zeile setzen könnte. Aber was erwarten Sie, wenn der Benutzer beginnt, Zeichen am Anfang der Zeile zu löschen?

Noch mehr Fragen stellen sich, wenn Sie sich entscheiden, einen UITextField Clear-Button zu integrieren.
Die entsprechende Delegate-Methode -textFieldShouldClear() ermöglicht es Ihnen nicht, Ihr Textfeld teilweise zu löschen, sondern soll den gesamten Text löschen. Das Überschreiben oder Erweitern des eindeutigen Schaltflächenverhaltens ist eine mehrdeutige Designentscheidung und damit eine große Verantwortung für unsere Bibliothek, da wir alle Anwendungsfälle abdecken müssen. Einige Leute (Entwickler und Benutzer ) möchten, dass die native Clear-Schaltfläche den gesamten Text löscht, jemand erwartet, dass alle "fixen" Symbole nach dem Löschen bleiben, und andere werden annehmen, dass nur das "fixed"-Präfix bleiben und "fixed" sein sollte. Zeichen in der Mitte der Zeile sollten gelöscht werden.

Das einzige, womit ich Ihnen helfen kann, ist ein Ratschlag, die Ziele, die Sie erreichen möchten, zu durchdenken.
Kämpfe nicht gegen das SDK, da das SDK immer gewinnt.

Alle 3 Kommentare

Hey @razalur
Danke für Ihren Vorschlag. Ich werde etwas später in dieser Woche mit Feedback zurückkommen, bleiben Sie dran!

irgendwelche Updates?

@TikhonovAlexander, hey. @razalur könnte auch interessiert sein.

Vielen Dank, dass Sie mich an diese Funktionsanfrage erinnern. Wir hatten tatsächlich ein kurzes Gespräch mit zwei Evangelisten von Apple über einen nicht bearbeitbaren Text im Textfeld.

TL;DR: Wir werden diese Funktion nicht unterstützen.

Es verletzt HIG nicht direkt, obwohl es eine schlechte Idee ist, die Kontrolle des Benutzers über die App einzuschränken und die Entscheidungsfindung zu übernehmen. Native Textfelder verhalten sich nicht so, und das iOS SDK enthält bereits eine Komponente für statischen Text – ein UILabel .

Sie können eine native Rücktaste der Tastatur nicht deaktivieren oder ausgrauen, und nicht löschbare Symbole führen zu Verwirrung, da der Endbenutzer nicht feststellen kann, ob es sich um ein beabsichtigtes Verhalten oder einen Fehler handelt. "Warum genau funktioniert meine Rücktaste nicht?" – und Sie können keinen klaren Hinweis geben.

Aus unserer Sicht des Bibliotheksdesigns ist es offensichtlich, dass der Entwickler ein "festes" Symbol in die Mitte der Zeile setzen könnte. Aber was erwarten Sie, wenn der Benutzer beginnt, Zeichen am Anfang der Zeile zu löschen?

Noch mehr Fragen stellen sich, wenn Sie sich entscheiden, einen UITextField Clear-Button zu integrieren.
Die entsprechende Delegate-Methode -textFieldShouldClear() ermöglicht es Ihnen nicht, Ihr Textfeld teilweise zu löschen, sondern soll den gesamten Text löschen. Das Überschreiben oder Erweitern des eindeutigen Schaltflächenverhaltens ist eine mehrdeutige Designentscheidung und damit eine große Verantwortung für unsere Bibliothek, da wir alle Anwendungsfälle abdecken müssen. Einige Leute (Entwickler und Benutzer ) möchten, dass die native Clear-Schaltfläche den gesamten Text löscht, jemand erwartet, dass alle "fixen" Symbole nach dem Löschen bleiben, und andere werden annehmen, dass nur das "fixed"-Präfix bleiben und "fixed" sein sollte. Zeichen in der Mitte der Zeile sollten gelöscht werden.

Das einzige, womit ich Ihnen helfen kann, ist ein Ratschlag, die Ziele, die Sie erreichen möchten, zu durchdenken.
Kämpfe nicht gegen das SDK, da das SDK immer gewinnt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

MrJox picture MrJox  ·  11Kommentare

KompoD picture KompoD  ·  5Kommentare

DamascenoRafael picture DamascenoRafael  ·  4Kommentare

caioremedio picture caioremedio  ·  6Kommentare

SteynMarnus picture SteynMarnus  ·  11Kommentare