如何用 RXSwift 实现 UIDatePicker

Posted

技术标签:

【中文标题】如何用 RXSwift 实现 UIDatePicker【英文标题】:How to realize UIDatePicker with RXSwift 【发布时间】:2021-11-18 14:16:34 【问题描述】:

请告诉我,如何使用 RxSwift 为 UIDatePicker 设置最小和最大日期以及仅日期

【问题讨论】:

我建议你通过提供更多细节来改进问题...而不是使用 cmets 分享。 你肯定尝试过 something。 SO 不是免费的代码编写网站。如果不表现出至少一些(研究)努力,你就不太可能在这里得到答案。 您希望这些日期动态更改吗?如果没有,那么就不需要使用 RxSwift 来做这件事……如果是,请告诉我们更多有关要求的信息,以便我们提供帮助。 【参考方案1】:

你可能想要这样的东西。 斯威夫特 4:

let calendar = Calendar(identifier: .gregorian)
var comps = DateComponents()
comps.year = 30
let maxDate = calendar.date(byAdding: comps, to: Date())
comps.year = -30
let minDate = calendar.date(byAdding: comps, to: Date())
datePicker.maximumDate = maxDate
datePicker.minimumDate = minDate

【讨论】:

【参考方案2】:

如果不了解更多信息,很难回答这个问题。我将从我的一个项目中发布一些代码:

fromPicker.rx.date
    .bind(to: toPicker.rx.minimumDate)
    .disposed(by: disposeBag)

上述代码的想法是实现一个功能,确保用户不能将toPicker设置为早于他们设置fromPicker的日期。

【讨论】:

你如何在fromPicker.rx.date 中设置日期,我必须在我的datePicker 中设置开始日期,我可以像datePicker.Date = date 那样设置,但我不会用Rx 设置这个值 日期从何而来?它会动态变化吗?

以上是关于如何用 RXSwift 实现 UIDatePicker的主要内容,如果未能解决你的问题,请参考以下文章

防止 RxSwift 中的冗余操作

脑筋急转弯:如何用两个栈实现一个队列 && 如何用两个队列实现一个栈

脑筋急转弯:如何用两个栈实现一个队列 && 如何用两个队列实现一个栈

如何用 MySQL 实现物化视图?

如何用 UIScrollView 实现 UIPageViewController?

如何用python实现各种数据结构