Модальный UIViewController с формой таблицы стилей представления некорректно отображается на iPhone XS Max и iPhone XR - PullRequest
0 голосов
/ 10 октября 2018

У меня есть контроллер представления, представленный модально.Его стиль представления установлен в форму листа.

func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
    return .formSheet
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    segue.destination.presentationController?.delegate = self
}

На iPhone X и iPhone 8 Plus он работает как положено, на iPhone Xs Max и Xr ширина контроллера соблюдается, но высота растянулась.У меня нет возможности подтвердить, если это ошибка симулятора, ошибка iOS или ожидаемое поведение, поскольку у меня нет Xs Max.enter image description here

1 Ответ

0 голосов
/ 13 марта 2019

Лучше использовать модальный стиль представления overFullScreen для компактных горизонтальных размеров и оставить форму для горизонтальных регулярных.

func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
    if controller.traitCollection.horizontalSizeClass == .regular {
        return .formSheet
    }
    return .overFullScreen
 }
...