我正在编写一个具有计时器的应用程序,用户可以将时间设置为计时器(在选择器 View 上)并且它将倒计时。所以在日期选择器中我选择了倒计时模式。但我不知道如何使用它任何人都可以帮助我吗?我对 swift 如此陌生。事实上,我希望用户设置时间到日期选择器,然后当点击开始时开始倒计时,但日期选择器只有小时和分钟,没有秒,我该怎么办?我可以将选择器 View 的时间设置为标签,但选择器 View 没有秒
let timeLeft = datePicker.date
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm:ss"
let formatteddate = formatter.string(from: timeLeft)
countinLabel.text = formatteddate
最佳答案
您应该尝试使用 UIPickerView
来获取小时:分钟:秒 格式。
因为 UIDatePicker
唯一支持的时间格式是小时:分钟。
class ViewController: UIViewController {
@IBOutlet weak var toolbar: UIToolbar!
@IBOutlet weak var picker: UIPickerView!
var hour:Int = 0
var minutes:Int = 0
var seconds:Int = 0
}
DataSource 和 Delegate 如下:
extension ViewController:UIPickerViewDelegate,UIPickerViewDataSource {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 3
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
switch component {
case 0:
return 25
case 1,2:
return 60
default:
return 0
}
}
func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
return pickerView.frame.size.width/3
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch component {
case 0:
return "\(row) Hour"
case 1:
return "\(row) Minute"
case 2:
return "\(row) Second"
default:
return ""
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch component {
case 0:
hour = row
case 1:
minutes = row
case 2:
seconds = row
default:
break;
}
}
}
关于ios - 小时:minutes:seconds in Date Picker swift怎么过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47844460/