Можно ли использовать разные стили UITableView для iPhone и iPad (и даже Catalyst) в приложении на основе раскадровки? - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу имитировать c те же стили UITableView, что и в приложении iOS Настройки. Таким образом, у меня есть главный контроллер представления, который является UITableViewController со стилем представления таблицы 'Сгруппированный'. И есть контроллер подробного представления, который представляет собой UITableViewController со стилем табличного представления «Сгруппированный» на iPhone и «Сгруппированный вкладыш» для iPad.

Каков наилучший способ реализовать это поведение в раскадровках. Кажется, я не могу заставить это работать.

Если мне придется делать это с разными чертами, мне придется поддерживать около 46 разных черт из-за всех типов устройств.

Я попытался переопределить функция init контроллера табличного представления. Но функция переопределения init (style: UITableView.Style) никогда не вызывается, если она основана на раскадровке.

Я попытался установить стиль программно, но это свойство доступно только для чтения.

Есть ли способ сделать это в 1 раскадровке?

iPhone settings iPhone general iPad

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете проверить тип устройства и затем внести изменения на основе этого:

print(UIDevice.current.userInterfaceIdiom)
if UIDevice.current.userInterfaceIdiom == .phone {
   print("running on iPhone")
}

Редактировать: я не думаю, что вы можете сделать это в раскадровке.

...