У меня есть приложение, которое использует таблицы UITableViewController, core-data и UITextViews в строках таблицы, которые автоматически корректируют свой вертикальный размер в зависимости от размера текста они держат. Корректировка размера выполняется с помощью старомодного pre-iOS8 (т. Е. Без автосохранения ячеек) с использованием tableView: heightForRowAtIndexPath и ограничений автоопределения. Ячейки также используют автоматическую компоновку для позиционирования кнопок, таких как кнопка «чистый текст». Эта кнопка прикреплена к 10pts внутри задней панели супервизора (UITableViewCell.contentView).Проблема с автосоединением с привязкой основных данных в iOS 8.1, но не в iOS 7
Код отлично работает в iOS 6, 7 и 7.1, но не работает в iOS 8.1. Макет правильно загружается в iOS 8.1, но как только пользователь начинает вводить текстовое поле, привязанные кнопки начинают прыгать и, в конечном счете, располагаются слишком далеко вправо, почти за пределами UITableViewCell.
IOS 7,1, ПРАВИЛЬНО:
IOS 8,1, НЕПРАВИЛЬНО:
Если я закомментировать строку ("translation.text1Text = changedTextView.text;") который связывает измененный текст с базовой моделью данных, проблема не отображается, но, конечно, текстовое изображение также не изменяет размер. Поэтому я думаю, что это может иметь отношение к тому, как self.tableView beginUpdates/endUpdates взаимодействует с ограничениями автоматической компоновки в iOS 8.
Я положил полное примерное приложение с исходным кодом, демонстрирующим проблему на https://github.com/SpencerY2/TestApp2.
Не уверен, может ли это быть связано с одной из этих двух других iOS8 autolayout вопросов: 1) Issue with Auto Layout on iOS 8 (code works perfectly on iOS 7), 2) https://stackoverflow.com/questions/26461850/auto-layout-issue-in-ios-8-works-fine-in-ios-7
Любая помощь будет наиболее высокую оценку.
p.s. приложение должно работать на iOS 6+, поэтому использование автосохранения ячеек теперь не является вариантом.