2012-12-03 13 views
6

Ich benutze in meiner App eine Textansicht mit blauem Hintergrund.Autocorrect Problem mit einem farbigen UITextview

Wenn Autokorrektur aktiviert ist, wird bei der Korrektur eines Wortes ein weißes Kästchen um das Wort gebildet und die Farbe des Textes ändert sich ebenfalls.

Haben Sie Ideen, wie Sie diesen Effekt stoppen können?

+0

Ich habe die gleiche Frage und ich konnte keine Antwort finden ... jemand? Ich biete ein Kopfgeld für eine Antwort auf diese (die nicht aus dem App-Store abgelehnt werden würde) – Cashew

+0

Komm auf! nicht einmal ein Kommentar? benutzt niemand sonst Autokorrektur mit einem farbigen UITextView? Ist es nur ich (und OP), die dieses Problem haben? Wenigstens einen Kommentar posten und sagen "Ich habe das gleiche Problem und ich denke ..." – Cashew

+0

Entschuldigung. Ich habe ein wenig gesucht und konnte keine hilfreichen Informationen finden. – JSuar

Antwort

4

Nein, ich denke, man kann nicht die Farbe des Overlay ändern oder die Textfarbe aus dem Kasten heraus ..

Dies ist ein harter, wenn Sie einen Haltepunkt in - (void) layoutSubviews {..} Ihre Ansicht setzen werden Sie siehe UIKit hat eine 'UITextSelectionView' über dem Text gezeichnet ...

Ich habe versucht, UITextView abzuleiten, um zu sehen, ob seine layoutSubviews gefeuert werden und es scheint, dass es tut! So

Ich habe versucht, das Overlay zu entfernen:

- (void) layoutSubviews { 
    [super layoutSubviews]; 

    for (UIView *subview in self.subviews) { 
     if ([NSStringFromClass([subview class]) isEqualToString:@"UITextSelectionView"]) { 
      DLog(@"Subview %@", [subview debugDescription]); 
      [subview removeFromSuperview]; 
      break; 
     } 
    } 
} 

Und es hat funktioniert .. aber das ergibt den Cursor fehlt, und das Deaktivieren beliebige Auswahl :(

Ich denke, Sie deaktivieren müssen autocorrect ..

ich werde die Prämie wieder starten, wenn jemand eine wirkliche Antwort findet!

+0

Autokorrektur ist ein Muss in meiner App, ich kann ' t deaktivieren Sie es. Versuche deinen Code und hoffe, dass ich etwas herausfinden kann. Danke für die Bemühung. – Cashew

+0

Ja, ich dachte schon, viel Glück damit! Lass es mich wissen, wenn du etwas gefunden hast! – Tieme

+0

:(Es scheint keine Antwort gefunden zu haben. Ich werde Ihnen die Prämie zuteilen, da es eine Schande wäre, sie zu verschwenden. – Cashew

0

Dies kann andere haben Nebeneffekte Ich untersuche derzeit, was dies sonst noch heißt, aber das Überschreiben von firstRect (für den Bereich) in UITextView und das Zurückgeben von CGrect.Zero entfernt die Hervorhebung.

override public func firstRect(for range: UITextRange) -> CGRect { 
    return CGRect.zero; 
} 
Verwandte Themen