Ответ 1
Нет.
Создание статического UICollectionViewController
недопустимо. У вас должен быть делегат источника данных.
Я также хочу указать, что не существует статического UITableView
, а статического UITableViewController
. Это разница.
В UITableView возможна полная статическая конфигурация tableView. Вы можете отключить источник данных UITableView и поместить каждую ячейку в раскадровку (или xib) с помощью IB.
Я пробовал то же самое с UICollectionView. отключите источник данных UICollectionView. Поместите каждую ячейку в UICollectionView на раскадровку. Я построил его без ошибок. Но это не сработало. ячейки не отображались вообще.
Возможно ли UICollectionView без источника данных?
Создание статического UICollectionViewController
недопустимо. У вас должен быть делегат источника данных.
Я также хочу указать, что не существует статического UITableView
, а статического UITableViewController
. Это разница.
Вы можете легко создать статический UICollectionViewController.
Просто создайте каждую ячейку в построителе интерфейса, дайте им повторно использовать идентификаторы (например, "Home_1" "Home_2" "Home_3" ) и заполните эти методы следующим образом:
class HomeViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
let cellIdentifiers:[String] = ["Home_1","Home_2","Home_3"]
let sizes:[CGSize] = [CGSize(width:320, height:260),CGSize(width:320, height:160),CGSize(width:320, height:100)]
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return cellIdentifiers.count
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
return collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifiers[indexPath.item], for: indexPath)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return sizes[indexPath.item]
}
}
Затем установите контроллер представления в соответствующий класс и, в первую очередь, статическую коллекцию. Мне жаль говорить, но это BY FAR лучший способ поддерживать портретные и пейзажные представления, когда у вас есть группы элементов управления...