【发布时间】:2019-03-08 01:17:13
【问题描述】:
从Apple documentation 开始,UIDatePicker.Mode 是enum 类型的Int,有四种情况。
enum Mode : Int
case time
case date
case dateAndTime
case countDownTimer
我很想知道是否可以添加第五个 case monthYear (= 4) 以使我能够创建 UIDatePicker 的自定义实现。
第 5 种情况的目的是在选取器控件中仅显示月份和年份滚轮。
(请注意,我知道我可以 - 并且可能会 - 创建一个自定义 UIPickerView 来处理这个问题,但是我很想知道我是否可以优雅地扩展 UIDatePicker 类或 UIDatePicker.Mode 枚举来实现这个。)
我已经阅读了一些关于为enum 编写extension 的内容。我已经阅读了一些有趣的文章并查看了一些 Stack Overflow Q&A,其中包括有效的解决方法......
所以在我看来,为了能够巧妙地扩展UIDatePicker,我首先需要能够扩展UIDatePicker.Mode。
我还阅读了Apple documentation 标题下的外观...
UIDatePicker 的外观不可自定义。
这对我来说似乎相当确定,但是问这个问题并没有什么坏处......
是否可以为 UIDatePicker.Mode 编写一个 Swift 扩展,以便我可以添加第五个 case monthYear 和 UIDatePicker,以便我可以编写一个自定义实现,在控件中只显示月份和年份滚轮?
【问题讨论】:
-
即使您可以向枚举添加一个额外的案例,日期选择器类也不知道如何根据新模式呈现自己。
标签: swift enums uidatepicker swift-extensions