Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Swift : uitableview, uicollectionview, layout, cell

Какие отличия между UITableView и UICollectionView?

Вопрос проверяет знание гибкости и ограничений двух основных компонентов для отображения списков и сеток в UIKit.

Короткий ответ

UITableView предназначена для вертикального списка однотипных ячеек, поддерживает секции и простые заголовки. UICollectionView — более гибкая, позволяет располагать ячейки в любых сетках или персонализованных компоновках через UICollectionViewLayout, поддерживает горизонтальный скролл, многострочные ряды, кастомные layout.

Длинный ответ

UITableView:

  • Вертикальный список; одну колоночную компоновку.

  • Удобные методы insertRows, deleteRows.

  • Дефолтные секции с заголовками/футерами.

UICollectionView:

  • Компоновка определяется классом UICollectionViewLayout (Flow, Custom).

  • Поддерживает сетки, горизонтальный скролл, комплексные визуальные эффекты.

  • Ячейки могут менять размер и расположение динамически.

Пример UICollectionViewFlowLayout:

let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.itemSize = CGSize(width: 100, height: 100)
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)

Вывод:
Для простых вертикальных списков удобнее UITableView; для более сложных и кастомных сеток — UICollectionView.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

Ключевые слова

#uitableview

#uicollectionview

#layout

#cell

Подпишись на iOS Developer в телеграм