Страницы

Поиск по вопросам

четверг, 6 июня 2019 г.

Вопрос про UITableView и UITableViewCell в iOS

Доброе время суток коллеги! Столкнулся с такой задачей. Необходимо выводить информацию в UITableView в два кастомных UITableViewCell. верхний как бы заголовок, нижний текст с произвольной высотой. Если кликать на заголовок необходимо попадать на профиль пользователя, если кликать на текст попадать на полный текст статьи. Пример реализации которая мне нужна хорошо выполнен в приложении ВКонтакте для iphone, в разделе группы. У меня не получается вывести данные в два UITableViewCell по очереди. https://www.dropbox.com/s/g1g6btk4zudrhr1/screen.pdf В приложенном файле я нарисовал прототип того как должен выглядеть табличный вид на мобильном телефоне. Если кто сталкивался или знает как это можно реализовать прощу помочь.


Ответ

После обсуждения этого вопроса с его автором в скайпе мы совместно выяснили, что оба вида ячеек на самом деле относятся к одной сущности (пользователю и контенту, связанному с ним) и решили, что нужно, чтобы был создан только один тип ячейки, в которую контент нынешних двух типов ячейки войдет в виде двух subviews - один subview для заголовка ячейки (информация о пользователе), другой - для контента (сообщение пользователя). Главная же проблема скрывалась в том, что из-за наличия двух видов ячеек, автор, полагаясь на строку вида EXHeaderTableCell *headerCell = [tableView dequeueReusableCellWithIdentifier:HeaderCellIdentifier forIndexPath:indexPath]; получал неправильное обращение к индексу в массиве Reusable cells, так как indexPath в большинстве случаев указывал на ячейку противоположного типа.

Комментариев нет:

Отправить комментарий