gpt4 book ai didi

ios - 如何在 UIView 类中编写自定义选择器?

转载 作者:行者123 更新时间:2023-11-30 13:50:04 25 4
gpt4 key购买 nike

我想编写一个 View (弹出窗口),其中包含两个选择器,以便使用两个单独的选择器 View 输入周(年)和年。首先,我首先创建一个新类作为 UIView 的子类。接下来,我对窗口进行了编码,该窗口应该弹出,以防被调用。现在我遇到了问题,我无法用数据填充我的两个选择器 View ,因为 UIView 不支持 UIPickerViewDataSource。我该如何解决这个问题,因为我只想将其显示为一个小弹出窗口,而不是打开整个 UIViewController。

最佳答案

它应该是一个 Controller ,显示在弹出窗口中。

演示者应该是 UIPopoverPresentationControllerDelegate,并重写方法以支持 iPhone 上的弹出窗口(默认情况下,它们将以模态方式呈现)。

extension ItemViewController: UIPopoverPresentationControllerDelegate {
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .None
}
}

使用此方法来呈现您的选择器 Controller :

func instantiatePicker(picker: UIViewController, sender: UIView) {
picker.modalPresentationStyle = .Popover
let ppc = picker.popoverPresentationController!
ppc.delegate = self
ppc.permittedArrowDirections = .Any
ppc.sourceView = sender
ppc.sourceRect = sender.bounds
presentViewController(picker, animated: true, completion: nil)
}

在您的选择器 Controller 中覆盖此属性以根据您的需要调整弹出窗口大小,如下所示:

override var preferredContentSize: CGSize {
get {
return CGSize(width: datePicker.bounds.width, height: datePicker.bounds.height + anotherPicker.bounds.height)
}
set {
super.preferredContentSize = newValue
}
}

关于ios - 如何在 UIView 类中编写自定义选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com