#ios #cocoa-touch #uikit #uisplitviewcontroller
#iOS #cocoa-touch #uikit #uisplitviewcontroller
Вопрос:
При использовании UISplitViewController
в портретном режиме на iPad мне предоставляется полноэкранный режим моего контроллера просмотра деталей, который предназначен. Я могу сдвинуть слева и открыть слайд основного вида, как я могу запустить этот слайд программно?
Ответ №1:
Кажется, что простого способа сделать это нет, но я обнаружил, что использование следующего кода обеспечивает предполагаемое поведение:
UIView.animate(withDuration: 0.2, animations: {
self.splitViewController?.preferredDisplayMode = .primaryOverlay
})
Убедитесь, что вы вернули режим отображения в automatic
при повороте в горизонтальной плоскости, чтобы он всегда показывал основной вид и детали по умолчанию:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { _ in
if UIDevice.current.orientation == .landscapeLeft || UIDevice.current.orientation == .landscapeRight {
self.splitViewController?.preferredDisplayMode = .automatic
}
}, completion: nil)
}
Комментарии:
1. Настройка
preferredDisplayMode
верна. Настройка его в функции анимации великолепна. Очень приятно.