Переключение из UITableViewController в UICollectionViewController


#1

есть UITabBarController и в одном его табе вставлен UITableViewController через navigationController.
Там есть кнопка которая должна переключать вид на другой UICollectionViewController в этом табе, как это сделать программно?


#2

Можете использовать простой UIViewController, в нем расположить TableView и CollectionView. Переключение вида будет просто скрытие и отображение View.

Если прям совсем заморочиться: используйте в таком случае UICollectionViewController (если такой есть).
Для смены вида придется перестраивать отображение ячеек в нем.


#3

я думаю как то можно подменять содержимое таба с одного класса на другой, но пока не получилось это сделать…


#4

можно на лету поменять ViewController’ы у TabBarController: setViewControllers([…])
может быть есть метод setViewController(atIndex,…) - поищите


#5

setViewController подошло, спасибо

еще вопрос, почему в UICollectionViewController и в некоторых случаях в UITableViewController крупный заголовок изначально поднят/проскроллён в NavigationBar, хотя во всех случаях выставлены параметры

		if #available(iOS 11.0, *) {
			navigationItem.largeTitleDisplayMode = .always
			navigationController?.navigationBar.prefersLargeTitles = true
			extendedLayoutIncludesOpaqueBars = true
		}

#6

Тут уже не знаю, не работал пока с большими заголовками.
Подождите другого помощника.