Я работаю над приложением с всплывающим окном, которое отображает UIDatePicker
. Я настроил его так, чтобы он всегда был всплывающим, даже на телефонах. Работает, пока я не поверну устройство в ландшафт. Когда я делаю это, всплывающее окно отображает то, как оно обычно отображается на iPhone в альбомном режиме.
Вот так это выглядит в портретном режиме. Это именно то, что я хотел, чтобы это выглядело.
И вот он в ландшафтном режиме:
Неважно, включаю ли я устройство, когда всплывающее окно уже видно, или если оно открывается после включения устройства. Это код, который я использую для отображения всплывающего окна.
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)
}
}
Как я могу настроить это так, чтобы поповер продолжал выглядеть так же, как в портретном режиме?