微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 UIDatePicker 中添加两个小时的间隔

我需要为我的 UIDatePicker 添加两个小时的时间间隔。

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

谢谢!

解决方法

就像@Isuru 和@Eli Gooch 所说的那样。我使用 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)"
}
,

尝试自己创建时间对象并在 UIPickerView 中显示它们。 https://developer.apple.com/documentation/uikit/uipickerview

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。