Swift 4中的日期/时间选择器

Tho*_*mas 1 xcode picker uidatepicker datetimepicker swift

如何制作允许选择分钟和秒的时间/日期选择器,并将其设置为倒数时间(我只需要知道如何制作时间/日期选择器)。我找到了很多教程,但是它们是在Main.storyboard中制作的。我想将其添加到我的GameScene.swift(文件类型为Cocoa Touch Class)。我正在游戏类型应用程序中使用Xcode 9.3中的Swift 4。

提前致谢!

Khu*_*hbu 5

您需要分钟和秒选择器。因此,默认的UIDatePicker不提供此功能。因此,我已经使用UIPickerView制作了自定义选择器。

1)首先,在viewDidLoad()方法中编写此代码。

    let timePicker: UIPickerView = UIPickerView()
    //assign delegate and datasoursce to its view controller
    timePicker.delegate = self
    timePicker.dataSource = self

    // setting properties of the pickerView
    timePicker.frame = CGRect(x: 0, y: 50, width: self.view.frame.width, height: 200)
    timePicker.backgroundColor = .white

    // add pickerView to the view
    self.view.addSubview(timePicker)
Run Code Online (Sandbox Code Playgroud)

2)其次,扩展您的viewcontroller并将它们赋予UIPickerViewDelegate和UIPickerViewDataSource,如下所示。

extension ViewController: UIPickerViewDelegate, UIPickerViewDataSource{

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 2
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return 60
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return String(format: "%02d", row)
    }

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if component == 0{
            let minute = row
            print("minute: \(minute)")
        }else{
            let second = row
            print("second: \(second)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你。