有什么方法可以从 UIAlertControllerStyle.ActionSheet 显示日期选择器?有一种方法可以在 ActionSheet 中添加按钮并向这些按钮添加操作,但是我找不到在 ActionSheet 中添加日期选择器或任何自定义 View 的解决方案。

最佳答案

这是不可能的,但您可以使用 UItextfield 输入 View 和附件 View 在用户单击文本字段时显示和关闭日期选择器

class KPDatePickerViewController: UIViewController {
    var datePicker:UIDatePicker!
    @IBOutlet var dateTextField:UITextField!

    override func viewDidLoad() {
        var customView:UIView = UIView (frame: CGRectMake(0, 100, 320, 160))
        customView.backgroundColor = UIColor.brownColor()
        datePicker = UIDatePicker(frame: CGRectMake(0, 0, 320, 160))
        customView .addSubview(datePicker)
        dateTextField.inputView = customView
        var doneButton:UIButton = UIButton (frame: CGRectMake(100, 100, 100, 44))
        doneButton.setTitle("Done", forState: UIControlState.Normal)
        doneButton.addTarget(self, action: "datePickerSelected", forControlEvents: UIControlEvents.TouchUpInside)
        doneButton.backgroundColor = UIColor .blueColor()
        dateTextField.inputAccessoryView = doneButton
    }

    func datePickerSelected() {
        dateTextField.text =  datePicker.date.description
    }
}

10-08 05:28