Можем ли мы добавить прокрутку внутри UITableViewCell?

У меня есть требование, когда я должен показывать некоторые изображения, которые дифференцированы в соответствии с группами, к которым они принадлежат. Я использовал табличный вид для просмотра изображений, перечисленных в группах. Пользователь должен прокручивать по горизонтали, чтобы просмотреть больше изображений в определенной группе. Можем ли мы добавить прокрутку в строку tableview, чтобы пользователь мог прокручивать список изображений по горизонтали? Я немного искал, в некоторых комментариях говорится, что это запрещено в Apple HIG, в некоторых комментариях говорится: Вы можете добавить UIScrollView в UITableViewCell, и если вы правильно установите свойство contentSize UIScrollView, UIScrollView будет правильно прокручиваться по горизонтальной оси

Могу я получить подтверждение по этому поводу ?? Или любой альтернативный подход для достижения горизонтальной и вертикальной прокрутки различных данных без использования tableview


person thatguy    schedule 04.10.2011    source источник


Ответы (3)


Да, это определенно возможно и разумно.

Вот отличное руководство от Фелипе Ласо, которое объясняет это шаг за шагом:

Как создать интерфейс с горизонтальными таблицами, как в приложении Pulse News: часть 1

Как создать интерфейс с горизонтальными таблицами, как в приложении Pulse News: часть 2

Кстати, подход, описанный в этом руководстве, намного более эффективен, чем добавление UIScrollview в каждую ячейку.

person Felix    schedule 04.10.2011
comment
Есть ли у вас источники, доказывающие, что вложенные UITableView более эффективны, чем UIScrollView? Я ничего не вижу в предоставленных вами ссылках. - person Joe Masilotti; 18.09.2012
comment
UITableView - это более эффективный подкласс UIScrollView, поскольку он может повторно использовать ячейки. В режиме прокрутки у вас будет много подвидов, которые потребляют память одновременно. - person Felix; 18.09.2012

Конечно, вы можете добавить scrollView в tableView.

 UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 100)];            
 [cell.contentView addSubview:scrollView];

Теперь вы можете соответствующим образом настроить свойства для прокрутки.

person vntstudy    schedule 01.10.2013

Конечно, это возможно. UIScrollView внутри UITableCellView будет работать нормально - HIG говорит «нет», вероятно, потому что его будет сложно использовать. Пользователю придется аккуратно прокручивать вверх / вниз или влево / вправо, и это может раздражать. Проведение быстрого теста не займет много времени.

У меня есть приложение с двумя видами прокрутки - одно, которое позволяет горизонтальную прокрутку, а затем внутри этого другого прокрутки, которая позволяет вертикальную прокрутку. Идея состоит в том, что пользователь может пролистывать страницу вверх / вниз, а затем пролистывать страницы влево / вправо.

Это не очень приятно использовать, но это то, что хотел мой клиент;)

Чтобы UIScrollView реагировал только на горизонтальную или вертикальную прокрутку, нужно всего лишь установить правильный размер содержимого. Надеюсь, это поможет.

person ben_the_builder    schedule 04.10.2011
comment
HIG был создан для того, чтобы сломаться. - person JonB; 04.10.2011