Der folgende Cursor im dynamischen UITextView mit UITableView funktioniert nicht mehr in iOS 11

9

Ich habe eine UITextView erstellt, die dynamisch in einer UITableViewCell als Person typisiert ist.

Auf iOS 10 wird der Cursor% UITextView automatisch gefolgt von sehr wenig Code benötigt.

In der UITextViewDelegate Methode textViewDidChange: habe ich diesen Code benutzt, der die Größe der Textansicht aktualisiert hat, ohne herumzuspringen.

%Vor%

In iOS 11 funktioniert das nicht mehr und wenn ich tippe, verschwindet der Cursor unter der Tastatur. Beachten Sie, dass ich keine Änderungen brauchte, als die Tastatur erschien.

Ich weiß, dass es bei iOS 11 Änderungen bezüglich der Funktionsweise von Inhaltseinschüben gegeben hat, aber ich konnte nicht herausfinden, welche Änderungen ich vornehmen müsste, damit dies funktioniert.

Wo sollte ich nach diesen Änderungen suchen, um es zu reparieren?

- Aktualisieren -

Es würde sich herausstellen, dass das Entfernen all dieses Codes mein Problem in iOS 11 löst und dass iOS 11 Punkte scrollt, um dem Cursor zu folgen, während ich automatisch ohne Probleme tippe.

Das einzige Problem, das ich noch habe, ist, dass ich nur bis zu 28 Textzeilen in die UITextView schreiben kann, bevor die UITextViews Größe nicht mehr aktualisiert wird.

    
Mark Reid 19.10.2017, 00:04
quelle

4 Antworten

0

Ich habe das gleiche Problem, eine UITableViewController mit einer UITableViewCell, die eine nicht-scrollbare editierbare UITextView in einer Zelle enthält, und der Cursor würde hinter der Tastatur in iOS11 gehen. Hat in früheren iOS-Versionen funktioniert.

Ich habe endlich eine Lösung gefunden, die auf diesem und anderen Artikeln basiert:

%Vor%

Hoffe das hilft jemandem ...

    
rodfleischer 18.01.2018, 20:17
quelle
1
%Vor%

In Ihrer Datenquelle cellForRow method:

%Vor%

Es ist auch gut, eine minimale Höhenbeschränkung für die Textansicht zu haben (für z.B. & gt; = 44)

    
Maksym Musiienko 27.10.2017 21:19
quelle
0

Ich verwende die sabe-Methode, um eine textView zu aktualisieren, und es funktioniert gut für mehr als 28 Zeilen Text, stellen Sie sicher, dass Sie alle diese Eigenschaften gesetzt haben:

%Vor%

auch wenn ich den textView text definiere rufe ich textView.sizeToFit()

auf     
Bruno Fulber Wide 25.10.2017 14:32
quelle
0

Ab XCode 9 wird die Berechnung der Reihe automatisch durchgeführt, sobald Sie Eigenschaften im Größeninspektor der Tabellenansicht festgelegt haben. Hier können Sie überprüfen dies im Bild und ich verrückte eine Veränderung in func textViewDidChange(_ textView: UITextView) Unten ist mein Code

%Vor%

und es funktioniert gut für mich in iOS 11

Sie können auch Einschränkungen sehen, die einfach sind, und ich verwende sie ohne Ränder.

Und Ihr Textview-Cursor-Problem würde ich vorschlagen, IQKeyboardManager , es wird alle diese Dinge verwalten.

    
Dipak Kacha 26.10.2017 13:46
quelle