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

0
Arsh Bhullar 27 Фев 2020 в 09:46

2 ответа

Лучший ответ

Да, конечно.

Вы можете использовать приведенные ниже строки кода, чтобы проверить текущую ориентацию, а затем решить, какую ячейку использовать в вашем методе cellForRowAtIndexPath.

if UIDevice.current.orientation == .portrait {
    //first cell
} else {
    //second cell
}

Я думаю, что вам также понадобится триггерная точка для представления таблицы для перезагрузки ее ячеек.

Вы можете переопределить приведенный ниже метод и затем вызывать метод reloadData при необходимости.

override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) {
}
3
schinj 27 Фев 2020 в 06:53

Как и выше, но функция didRotate устарела, вместо этого используйте

viewWillTransition(to size: CGSize, 
               with coordinator: UIViewControllerTransitionCoordinator)
0
Bartosz Jarosz 27 Фев 2020 в 08:29