Я работаю с динамическим UITable с ячейками прототипов, который создается в раскадровке в iOS 5. В этой таблице высота ячеек зависит от содержимого ячейки и оценивается программно в heightForRowAtIndexPath. Моя проблема заключается в том, что в отображаемой таблице строки разделителя ячеек помещаются в неправильные местоположения. Вот некоторые факты о моей программе:Разделители UITableView помещены неправильно
- Cells содержание и основные моменты отображаются в предназначенных местах
- В cellForRowAtIndexPath я использую dequeueReusableCellWithIdentifier для создания новых клеток
- heightForRowAtIndexPath возвращает правильные значения для всех ячеек
Может ли кто-нибудь помочь мне разобраться в этой проблеме? Я нашел довольно старую нить, обсуждающую тот же вопрос год назад, однако не было предложено никаких объяснений/решений (см. UITableView separators drawn incorrectly through cell reuse?)
Большое спасибо за вашу помощь.
Спасибо,
Anis
У меня динамический пример высоты ячейки [здесь] (https://github.com/wtmoose/TLIndexPathTools/blob/master/Examples/Dynamic%20Height/Dynamic%20Height/DynamicHeightTableViewController .m). Я попытался воспроизвести вашу проблему, но не смог. Не могли бы вы поделиться своим кодом контроллера и, возможно, с некоторыми подробностями о вашем раскадровке: а) используете ли вы автоматический макет, б) XML-отрывок для табличного представления? Я хотел бы выяснить, как воспроизвести это. –
Привет, Тимоти! Надеюсь, ты получил мой ответ на свой пост. По-видимому, это слишком долго для комментария, поэтому я разместил его как ответ вместо этого. Не слишком уверен, как эти вещи работают в stackoverflow. Спасибо, Анис – Anis
Нет, я не видел твое сообщение. К сожалению, я не вижу красных флагов в вашем коде. То, что я, вероятно, сделаю здесь, это разместить точку останова в 'willDisplayCellAtIndexPath', а затем сделать' po [cell recursiveDescription] 'для печати иерархии представлений ячейки. Изучите эту иерархию, чтобы увидеть, есть ли какие-либо ячейки, перекрывающиеся неожиданно. Это может дать ключ. –