Можно ли изменить стиль TableView на основе классов размеров? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть контроллер, внутри которого находится таблица. Я хочу изменить стиль табличного представления на сгруппированный на компактных и insetGrouped на обычных устройствах. Я хочу использовать новый стиль таблицы iOS 13 всякий раз, когда пользователь поворачивает свое устройство к обычному размеру.

class myTableVC: UITableViewController {

   init() {
      super.init(style: .grouped)
   }

   override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
      if traitCollection.horizontalSizeClass == .regular {
         // CANT DO THIS
         // self.tableview.style = .insetGrouped
      }
   }


} 

Я хочу иметь дизайн, аналогичный настройкам приложения. Можно ли изменить стиль?

1 Ответ

0 голосов
/ 21 февраля 2020

Из документов Apple (https://developer.apple.com/documentation/uikit/uitableview/style):

Вы устанавливаете стиль таблицы при инициализации представления таблицы (см. InitWithFrame: style :). После этого вы не сможете изменить стиль.

Один из вариантов - встроить два табличных представления в качестве подпредставлений - один для группировки и один для вставки для группировки.

Затем показать / скрыть соответствующий в зависимости от размера класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...