// // 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() } } }