【问题标题】:iPhone Popup Changes on Device RotationiPhone 设备轮换上的弹出窗口更改
【发布时间】:2019-01-20 05:03:15
【问题描述】:

我正在开发一个带有显示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)
    }
}

如何进行设置以使弹出框继续看起来像在纵向模式下一样?

【问题讨论】:

    标签: ios xcode uipopovercontroller


    【解决方案1】:

    请在视图中添加垂直居中水平居中 约束

    【讨论】:

    • 请详细说明。我不确定你要我做什么。这一切都是通过故事板完成的。我将日期控件集中在视图中。在横向时弹出窗口的变化似乎是我需要覆盖的某种系统行为。
    猜你喜欢
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    相关资源
    最近更新 更多