Swift 在UIDatePicker中添加两个小时的间隔
我需要给我的UIDatePicker增加两个小时的间隔 第一个时间间隔应包含12:00至15:00的小时数,第二个时间间隔应包含19:00至22:00的小时数。 有没有办法做到这一点Swift 在UIDatePicker中添加两个小时的间隔,swift,xcode,uikit,uidatepicker,hour,Swift,Xcode,Uikit,Uidatepicker,Hour,我需要给我的UIDatePicker增加两个小时的间隔 第一个时间间隔应包含12:00至15:00的小时数,第二个时间间隔应包含19:00至22:00的小时数。 有没有办法做到这一点 谢谢大家! 尝试自己创建时间对象并在UIPickerView中显示它们 就像伊苏鲁和伊莱·古奇说的那样。我已经使用UIPickerView创建了一个自定义时间对象。我的实施: //Declaration of variables let picker = UIPickerView() let h
谢谢大家! 尝试自己创建时间对象并在UIPickerView中显示它们 就像伊苏鲁和伊莱·古奇说的那样。我已经使用UIPickerView创建了一个自定义时间对象。我的实施:
//Declaration of variables
let picker = UIPickerView()
let hoursRange = Array(arrayLiteral: 12, 13, 14, 19, 20, 21, 22)
let minRange = Array(arrayLiteral: 00, 30)
var hourSelected: String = "00"
var minSelected: String = "00"
//Added UIPickerViewDataSource and UIPickerViewDelegate in my class
picker.dataSource = self
picker.delegate = self
//Set number of components
func numberOfComponents(in: UIPickerView) -> Int {
return 2
}
//Set value into every component element
func pickerView(_ pickerView: UIPickerView,
numberOfRowsInComponent component: Int) -> Int {
//Hour component
if component == 0 {
return hoursRange.count
}
//Minutes component
return minRange.count
}
//Delegate
func pickerView(_ pickerView: UIPickerView,
titleForRow row: Int,
forComponent component: Int) -> String? {
switch component {
case 0:
//Return hours value
return "\(hoursRange[row])"
case 1:
//Return minutes value
return "\(minRange[row])"
default:
return nil
}
}
//To get value
func pickerView(_ pickerView: UIPickerView,
didSelectRow row: Int,
inComponent component: Int) {
if component == 0 {
hourSelected = "\(hoursRange[row])"
} else {
if minRange[row] != 0 {
minSelected = "\(minRange[row])"
} else {
minSelected = "00"
}
}
hourTextField?.text = "\(hourSelected) : \(minSelected)"
}
据我所知,你不能用
UIDatePicker
来实现这一点。你必须自己创建这些时间对象,并在一个屏幕上显示它们。好的,谢谢!