UITextField secureTextEntry Kugeln mit einer benutzerdefinierten schriftart?
Ich bin mit einem benutzerdefinierten schriftart in einem UITextField
die secureTextEntry
eingeschaltet. Wenn ich die Eingabe in die Zelle, sehe ich die Kugeln in meine gewählte schriftart, aber wenn das Feld den Fokus verliert, werden diese Kugeln werden wieder auf den system-standard-schriftart. Wenn ich auf das Feld Tippen, wieder, ändern Sie zurück zu meiner Schrift, und so weiter.
Gibt es eine Art kann ich gewährleisten, dass Sie weiterhin die Anzeige der benutzerdefinierten schriftart, Aufzählungszeichen, auch wenn der Bereich unscharf ist?
InformationsquelleAutor der Frage Luke | 2014-01-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer Unterklasse, die Werke dieses Problem herum. Erstellen Sie eine beliebigen
UITextField
dann legen Sie diesecure
EigenschaftYES
(via KVC in IB).Eigentlich setzt Sie einen Kommentar vorgeschlagen lukech. Bei textfield-enden Bearbeiten, schaltet es auf eine beliebige textfield, dann einen Großteil der Punkte in, und einige hack in
text
accessor immer das eigentliche text-Feld enthält.Kann erweitert werden, um die Arbeit mit nicht-Feder-Instanzen, Umgang default-Werte, etc, aber Sie wahrscheinlich auf die Idee kommen.
InformationsquelleAutor der Antwort Geri
Für diejenigen, die Probleme haben mit verlieren, benutzerdefinierte Schriftarten, die beim Umschalten secureTextEntry, fand ich einen work-around (ich bin mit der iOS 8.4-SDK). Ich habe versucht, ein Knebel zum ein - /ausschalten ein Passwort in ein UITextField. Jedes mal, wenn ich Umschalten
secureTextEntry = NO
meine benutzerdefinierte schriftart habe geschlafen, und nur das Letzte Zeichen zeigte, die richtige schriftart. Etwas Irre ist definitiv auf mit diesem, aber hier ist meine Lösung:First responder werden muss resigniert aus irgendeinem Grund. Sie scheinen nicht zu müssen zurücktreten, der first responder bei der Einstellung secureTextEntry JA, nur wenn die Einstellung auf NEIN.
InformationsquelleAutor der Antwort Joshua Haines
Das eigentliche problem scheint zu sein, dass der Bearbeiten-Ansicht (
UITextField
nicht zeichnen Sie Ihren eigenen text während der Bearbeitung) verwendet Aufzählungszeichen (U+2022) zu ziehen geschwärzten Zeichen, währendUITextField
verwendet schwarze Kreise (U+25CF). Ich nehme an, dass in der Standard-Schriftarten, die diese Zeichen gleich Aussehen.Hier eine Alternative Problemumgehung für alle interessierten, die verwendet ein benutzerdefiniertes Textfeld Unterklasse, aber nicht erforderlich ist, jonglieren Sie die text-Eigenschaft oder andere spezielle Konfiguration. IMO, dies hält die Dinge relativ sauber.
InformationsquelleAutor der Antwort Austin
Dies ist zwar ein iOS-bug (und neu in iOS 7, sollte ich hinzufügen), habe ich einen anderen Weg, das zu umgehen, könnte man akzeptabel finden. Die Funktionalität ist noch etwas abgebaut, aber nicht viel.
Grundsätzlich ist die Idee, um die schriftart auf die Standard-schriftart/- Stil, wenn das Feld hat sich etwas in ihm eingegeben; aber wenn nichts eingegeben wird, legen Sie es auf Ihre eigene schriftart. (Die Schriftgröße kann in Ruhe gelassen werden, wie es der Familie/den Stil, nicht die Größe, der ist buggy.) Trap jede änderung des Werts des Felds ist, und legen Sie die schriftart entsprechend zu dieser Zeit. Dann das schwache "Hinweis" text, wenn nichts eingegeben wird hat die schriftart, die Sie möchten (custom); aber wenn alles eingetragen ist (ob Sie Bearbeiten oder nicht), Standard verwenden (Helvetica). Da die Kugeln sind Kugeln, das sollte gut Aussehen.
Der einzige Nachteil ist, dass die Zeichen, die Sie eingeben, bevor Sie ersetzt wird durch Kugeln, verwenden Standard-font (Helvetica). Das ist nur für einen Bruchteil einer Sekunde pro Zeichen obwohl. Wenn das akzeptabel ist, dann ist diese Lösung funktioniert.
InformationsquelleAutor der Antwort RedRedSuit
Fand ich einen trick für dieses Problem.
InformationsquelleAutor der Antwort Parul Jaisansaria
Dies ist der Schnellste Weg, dies zu lösen, Fehler!
InformationsquelleAutor der Antwort AaronTKD
iOS ist handeln ein wenig seltsam, wenn es um die benutzerdefinierten Schriftarten. Versuchen Sie, "Passen Sie auf", "textfield". Wenn das nicht funktioniert, ich vermute, dass das, was Sie stört, ist die Zunahme der Größe der schriftart.
Eine einfache Lösung dafür wäre:
Werden Sie brauchen, um zu spielen mit der Größe ein bisschen, um zu schauen, wie es ist keine Größe ändern, wenn Sie verlieren Fokus auf die
UITextField
.Wenn Sie eine größere Abstände problem zwischen Zeichen, wie die in die bearbeitete Frage, die einfachste (und ein bisschen hässlich) Lösung wäre eine Kugel-Bild entspricht die oben Größe & Abstand und passt die Höhe der Zeichen durch den Benutzer eingegeben werden, der erscheint, wenn der Benutzer verlässt das
UITextField
.InformationsquelleAutor der Antwort Segev
Einen
secureTextEntry
Textfeld kann insgesamt vermieden werden:InformationsquelleAutor der Antwort Randomblue
Empfehle ich resignFirstResponder, bevor Sie Sie ändern scureTextEntry und dann becomeFirstResponder wieder, wie es ist, hier gepostet: https://stackoverflow.com/a/34777286/1151916
InformationsquelleAutor der Antwort Ramis