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

标签 swift xcode datetimepicker uidatepicker picker

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

提前致谢!

最佳答案

您需要分秒选择器。所以,默认的 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)

2) 其次,扩展您的 View Controller 并为它们提供 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)")
        }
    }
}

希望对您有所帮助。

关于swift - Swift 4 中的日期/时间选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991549/

相关文章:

ios - UIView 旋转使用 swift 问题

ios - 如何在 Xcode Storyboard颜色选择器中添加自定义颜色?

xcode - 在 Xcode6 中将 Swift 文件导入其他 Swift 文件

twitter-bootstrap - Bootstrap DatetimePicker 选择器问题

javascript - AngularJs - 如何在 datetimepicker 中使用时区

ios - Swift:打印出 UILabel.text 时出现问题

ios - 如何为结构的每个成员分配一个编号? ( swift )

ios - 动画 Collection View 高度变化(Swift)

swift - 如何快速将完成按钮向右移动

java - 如何更改日期时间选择器对话框中天数的文本大小?