Изменения всплывающего окна iPhone при повороте устройства - PullRequest
0 голосов
/ 20 января 2019

Я работаю над приложением с всплывающим окном, которое отображает UIDatePicker. Я настроил его так, чтобы он всегда был всплывающим, даже на телефонах. Работает, пока я не поверну устройство в ландшафт. Когда я делаю это, всплывающее окно отображает то, как оно обычно отображается на iPhone в альбомном режиме.

Вот так это выглядит в портретном режиме. Это именно то, что я хотел, чтобы это выглядело.

enter image description here

И вот он в ландшафтном режиме:

enter image description here

Неважно, включаю ли я устройство, когда всплывающее окно уже видно, или если оно открывается после включения устройства. Это код, который я использую для отображения всплывающего окна.

func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
    return .none
}

@IBAction func showPopUpDate(_ sender: UIButton) {
    let popoverVC = storyboard?.instantiateViewController(withIdentifier: "DateTimeSelectorView") as! DateVC

    popoverVC.modalPresentationStyle = .popover
    popoverVC.preferredContentSize = CGSize(width: 350, height: 350)
    popoverVC.labelTag = sender.tag

    if sender.tag == 0 {
        popoverVC.showType = .date
        popoverVC.passedDate = date
    }
    else {
        popoverVC.showType = .time
        popoverVC.passedDate = time
    }

    if let popoverController = popoverVC.popoverPresentationController {
        popoverController.permittedArrowDirections = .any
        popoverController.sourceRect = CGRect(x: 0, y: 0, width: 20, height: 20)
        popoverController.delegate = self
        popoverController.sourceView = sender
        popoverVC.delegate = self

        present(popoverVC, animated: true, completion: nil)
    }
}

Как я могу настроить это так, чтобы поповер продолжал выглядеть так же, как в портретном режиме?

1 Ответ

0 голосов
/ 20 января 2019

Пожалуйста, добавьте вертикально по центру и по горизонтали по центру ограничение к виду.

...