Свернуть контроллер подробного представления на iPad с разделенным экраном 12,9 дюйма - PullRequest
0 голосов
/ 16 июня 2020

Я создаю раздел истории для своего приложения, которое использует SplitViewController для отображения календаря как основного, а статистики за определенный день как подробностей. Все работает отлично, за исключением одной досадной проблемы: на большом 12,9-дюймовом экране iPad, когда в альбомном режиме и разделен пополам, ширина рамки соответствует классу размера wR, что заставляет SplitViewController отображать как Master, так и Detail, с последним сжаты и практически непригодны для использования:

landscape half split

С другой стороны, в портретном режиме и 2/3 разделенном экране - хотя, согласно Xcode, это также wR class - мой главный календарь занимает весь фрейм со свернутыми деталями:

enter image description here

Я бы предпочел этот макет и в первом случае, но изо всех сил пытаются найти способ силового схлопывания Деталей. Я попытался установить maximumPrimaryColumnWidth на необходимый размер 678 pt и более, но это не дало результата.

Может кто-нибудь предложить элегантное и практичное решение для этого?

1 Ответ

1 голос
/ 23 июня 2020

Да, это возможно, создайте родительский контроллер представления для контроллера разделения представления и используйте setOverrideTraitCollection(_:forChild:) с compact, чтобы свернуть разделение, когда ширина экрана имеет определенный размер.

Вот соответствующий пример из примера Apple Adaptive Photos:

https://github.com/ios8/AdaptivePhotosAnAdaptiveApplication/blob/master/AdaptivePhotos/AAPLTraitOverrideViewController.m

А вот видео сеанса WWD C 2014, объясняющее это:

https://www.youtube.com/watch?v=lMGnZ5iTmuI

...