Date/Time 选择器 Swift 4
Date/Time Picker in Swift 4
我如何制作一个允许选择分钟和秒并将其设置为倒计时的 Time/Date 选择器(我只需要知道如何制作 Time/Date 选择器)。我找到了很多教程,但它们是在 Main.storyboard 中制作的。我想将它添加到我的 GameScene.swift(文件类型是 Cocoa Touch Class)。我在游戏类型应用程序中使用 Swift 4 in Xcode 9.3。
提前致谢!
您需要分秒选择器。所以,默认的 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) 其次,扩展你的 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)")
}
}
}
希望对您有所帮助。
我如何制作一个允许选择分钟和秒并将其设置为倒计时的 Time/Date 选择器(我只需要知道如何制作 Time/Date 选择器)。我找到了很多教程,但它们是在 Main.storyboard 中制作的。我想将它添加到我的 GameScene.swift(文件类型是 Cocoa Touch Class)。我在游戏类型应用程序中使用 Swift 4 in Xcode 9.3。
提前致谢!
您需要分秒选择器。所以,默认的 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) 其次,扩展你的 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)")
}
}
}
希望对您有所帮助。