You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.9 KiB
80 lines
1.9 KiB
![]()
2 years ago
|
//
|
||
|
// AlarmPickerCell.swift
|
||
|
// Lookfit
|
||
|
//
|
||
|
// Created by lemo on 2018/5/11.
|
||
|
// Copyright © 2020年 ecell. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import UIKit
|
||
|
|
||
|
class AlarmPickerCell: TableViewCell {
|
||
|
|
||
|
typealias PickerCellClosure = (String) -> Void
|
||
|
var pickerClosure: PickerCellClosure?
|
||
|
|
||
|
var selectedItem: String? {
|
||
|
didSet {
|
||
|
setSelectedItem()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var disposeBag = DisposeBag()
|
||
|
|
||
|
let timePicker = UIDatePicker.init().then {
|
||
|
$0.datePickerMode = .time
|
||
|
$0.locale = Locale.current
|
||
|
if #available(iOS 13.4, *) {
|
||
|
$0.preferredDatePickerStyle = .wheels
|
||
|
}
|
||
|
}
|
||
|
|
||
|
override func makeUI() {
|
||
|
super.makeUI()
|
||
|
contentView.addSubview(timePicker)
|
||
|
}
|
||
|
|
||
|
override func layoutSubviews() {
|
||
|
super.layoutSubviews()
|
||
|
timePicker.snp.makeConstraints { (make) in
|
||
|
make.edges.equalToSuperview()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
extension AlarmPickerCell {
|
||
|
// func bindUI() {
|
||
|
// }
|
||
|
|
||
|
func setSelectedItem() {
|
||
|
|
||
|
timePicker.rx.controlEvent(UIControl.Event.valueChanged).subscribe(onNext: { [weak self] in
|
||
|
guard let `self` = self else { return }
|
||
|
//日期格式
|
||
|
let formatter = DateFormatter()
|
||
|
formatter.dateFormat = "HH:mm"
|
||
|
//获取当前选中的时间
|
||
|
let time = formatter.string(from: self.timePicker.date)
|
||
|
print("time: \(time)")
|
||
|
//将所选择的时间传出给控制器
|
||
|
if let pickerClosure = self.pickerClosure {
|
||
|
pickerClosure(time)
|
||
|
}
|
||
|
|
||
|
})
|
||
|
.disposed(by: disposeBag)
|
||
|
|
||
|
|
||
|
if let item = self.selectedItem {
|
||
|
//日期格式
|
||
|
let formatter = DateFormatter()
|
||
|
formatter.dateFormat = "HH:mm"
|
||
|
|
||
|
let date = formatter.date(from: item)
|
||
|
|
||
|
timePicker.date = date ?? Date.init()
|
||
|
}
|
||
|
}
|
||
|
}
|