UITableView w iOS 7 nie przewija się do poprawnej lokalizacji podczas edycji UITextView w komórce

Mam widok tabeli ze statycznymi komórkami. Jedna komórka zawieraUITextView iheightForRowAtIndexPath: jest obliczany dynamicznie, dzięki czemu komórka jest zawsze na tyle wysoka, aby pomieścić tekst (ta część zajęła się trochę pod iOS 7, ponieważ nie można już po prostu zapytać o tekstWidok na jegocontentSize).

Gdy stuknę w widoku tekstowym, aby rozpocząć edycję, animacja klawiatury na miejscu, ustawienia zawartości na stole View są automatycznie dostosowywane do tego (tj. Dolna wstawka 216 pikseli dla orientacji pionowej iPhone'a), kursor / karetka staje się widoczny, i następnie widok tabeliprzewija do innej lokalizacji. Kończy się jak odbicie.

Oto film na ten temat w symulatorze:https://www.dropbox.com/s/htdbb0t7985u6n4/textview-bounce.mov

Zauważ, że przez sekundę daszek znajduje się tuż nad klawiaturą. Rejestrowałem widok tabelicontentOffset i widzę, że przewija do miłej wartości, a potem nagle „odwraca się” i przewija do tyłu.

Co dziwne, jeśli włączę wolne animacje w symulatorze, problem zniknie;contentOffset Odwrócenie nie następuje i wszystko działa tak, jak się tego spodziewam (tj. zachowanie w systemie iOS 6).

Oto film z powolnymi animacjami:https://www.dropbox.com/s/nhn7vspx86t4exb/textview-nobounce.mov

Uwagi dotyczące wdrożenia:

Widok tekstu jest różowy i ma ograniczenia AutoLayout, które utrzymują go przypiętym do komórki w odległości 0 (z wyjątkiem lewej strony, która wynosi 10 punktów)używamboundingRectWithSize: aby obliczyć wysokość widoku tabeli, dostosowując do liniiFragmentPadding i wszelkich wstawek góra / dół. Wydaje się działać.Ustawiłem textView, aby nie był przewijany, ale nie zauważyłem niczego innegoscrollEnabled == TAKJest to kontroler widoku tabeli iautomaticallyAdjustsScrollViewInsets == TAK

questionAnswers(1)

yourAnswerToTheQuestion