【问题标题】:Is it possible to write a Swift Extension for UIDatePicker.Mode是否可以为 UIDatePicker.Mode 编写一个 Swift 扩展
【发布时间】:2019-03-08 01:17:13
【问题描述】:

Apple documentation 开始,UIDatePicker.Modeenum 类型的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 monthYearUIDatePicker,以便我可以编写一个自定义实现,在控件中只显示月份和年份滚轮?

【问题讨论】:

  • 即使您可以向枚举添加一个额外的案例,日期选择器类也不知道如何根据新模式呈现自己。

标签: swift enums uidatepicker swift-extensions


【解决方案1】:

不,您不能修改UIDatePicker 的功能以支持您自己的自定义模式。

您要么需要使用UIPickerView 实现自己的自定义日期选择器,要么找到已经这样做的第 3 方组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2010-12-11
    • 2017-09-22
    • 2016-05-18
    • 1970-01-01
    • 2010-12-05
    • 2015-01-18
    相关资源
    最近更新 更多