ios - 小时:minutes:seconds in Date Picker swift怎么过

标签 ios swift datepicker

我正在编写一个具有计时器的应用程序,用户可以将时间设置为计时器(在选择器 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/

相关文章:

iphone - View a 中的 setter 来自 View b : unrecognized selector sent to instance

java - 日期选择器的 Android IllegalArgumentException

ios - 如何在多个场景中使用 AVAudioPlayer 暂停游戏中的背景音乐

iphone - 触摸 "Go"按钮时 UIWebView 中会发生什么

swift - 更改场景中所有节点的颜色?

swift - 抛出函数不会退出执行函数

javascript - JS 日期选择器 : Disable past dates + specific days of the week + specific dates

javascript - 如何显示日期取决于起始日期

ios - 从 UILabel 中删除与文本重叠的图像部分

swift - 找到在 Xcode 中包含静态库的正确方法