Swift 在UIDatePicker中添加两个小时的间隔

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

我需要给我的UIDatePicker增加两个小时的间隔

第一个时间间隔应包含12:00至15:00的小时数,第二个时间间隔应包含19:00至22:00的小时数。 有没有办法做到这一点


谢谢大家!

尝试自己创建时间对象并在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
来实现这一点。你必须自己创建这些时间对象,并在一个屏幕上显示它们。好的,谢谢!