UITextView Cursor-Farbe nicht ändern iOS 7
Ich versuche, um den cursor-Farbe eines UITextView basierend auf Benutzer-Einstellungen. Sie wählen, was Farbe Sie wollen mit einem Knopf.
Standardmäßig die textview die cursor-Farbe ist weiß. Wenn der Benutzer den Knopf drückt, könnte es zu grün wechseln:
[_textView setTintColor:[UIColor greenColor]];
[_textView setTextColor:[UIColor greenColor]];
Ich bin sicher, dass diese Methode funktioniert, weil die textview text die Farbe ändert, nicht nur den cursor...
- Meine Erfahrung zeigt, dass der Aufruf
setTintColor:
ändert sich die Farbe der text-Ansicht die Einfügemarke. - Ich denke, das könnte ein bug in iOS 7.1 bezüglich der globalen Farben wie [UIView Darstellung] denn es gibt nichts, was ich Tue, das ist aus der gewöhnlichen. Sollte dies funktionieren...
- Aus meiner Erfahrung (in iOS7.1), in der Tat tintColor setzt die cursor-Farbe.
- Ich habe gerade überprüft: wenn ich bin nicht nur im ändern-Modus, drücken Sie die Taste, die Sie dem text und der Cursor wechselt die Farbe. Wenn ich den text in den Modus ändern, der Cursor die Farbe wird bleiben blau.
- nicht sicher, was du meinst mit ändern-Modus
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage, neu zu erstellen Sie Ihr Verhalten: Wenn ich den Farbton und Farbe für text, während der text-Ansicht nicht aktiviert ist (aka: keine first responder), alles wird wie erwartet funktionieren.
Aber wenn ich wählen Sie es zuerst aus, indem Sie auf Tippen und als die Farbe ändern, indem Sie die Taste drücken Sie Cursor s (Farbton) Farbe nicht ändern.
Hier ist ein workaround:
[UIView setAnimationsEnabled:NO]; [_textView resignFirstResponder]; [_textView becomeFirstResponder]; [UIView setAnimationsEnabled:YES];
textView.tintColorDidChange()
. Details siehe hier stackoverflow.com/a/53332199/2742194Ich bin mit kleinen hack in UITextViewDelegate Methode:
UPD
mehr technologische Weg:
1) implementieren Sie die Methode in der extension:
2) in einer UITextViewDelegate Umsetzung:
Können Sie
Und in Swift
Dann brauchen Sie nicht zu behandeln, Tastatur, eingehende und gehen.
resignFirstResponder
undbecomeFirstResponder
machte Tastatur-Ansicht gehen und kommen wieder. Darf ich wissen, wie Sie die Implementierung der Lösung und für was?