【问题标题】:How to hide some of the years in UIDatePicker in Swift?如何在 Swift 中隐藏 UIDatePicker 中的一些年份?
【发布时间】:2016-05-26 09:47:44
【问题描述】:

我需要在 UIDatePicker 中限制年份,即如果年份超过我们的最大日期,则设置年份被隐藏。

为此,我已经尝试过类似 myDatePicker.maximumDate=NSDate()

我的日期选择器如UIDatePickerView

现在如何删除或隐藏超过(即 2016 年)我们最大日期的年份值。

谢谢你

【问题讨论】:

  • 如果设置为最大日期,用户将无法滚动超出该日期(只会返回最大日期)。这是 UIDatePicker 的行为。为什么还要隐藏除此之外的日期?
  • @WilliamGP 感谢您的即时回复。假设没有隐藏超过最大日期的年份值,那么用户尝试滚动年份组件,这就是为什么我只想显示年份组件直到最大日期。
  • 是的,但它会自动滚动回最大日期。
  • @WilliamGP 再次感谢您的回复。自动滚动回最大日期对我来说工作正常,这不是我的问题。我需要隐藏超出日期(即最小日期和最大日期)
  • 如果这真的是你想要的 - 我认为你必须使用 UIPickerView 自己构建一个自定义选择器。根据 iOS 文档,“您无法自定义日期选择器的外观”-developer.apple.com/library/ios/documentation/UserExperience/…

标签: swift uidatepicker custom-datetimepicker


【解决方案1】:

如果这确实是您想要的 - 我认为您必须使用 UIPickerView 自己构建一个自定义选择器。

Per iOS docs, "UIDatePicker 的外观不可自定义。"

【讨论】:

  • 感谢您的建议。现在我正在处理它时,我会尽快发布我的代码。谢谢你
【解决方案2】:

您需要在选择器上设置验证。所以设置picker的最大日期和最小日期。 ////

 self.datePicker.minimumDate = minDate;
    self.datePicker.maximumDate = maxDate;

【讨论】:

  • ankit 感谢您的即时回复。我已经设置了 min 01/01/2011 并且 max date 是 storyboard 中的 currentdate。但是日期选择器中仍然显示日期之外的日期,所以我该如何隐藏/删除该日期。
  • 欢迎,如果它的工作比请upword我的回答并接受它。
猜你喜欢
  • 2017-05-20
  • 2016-01-18
  • 2012-05-11
  • 2014-09-18
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
  • 1970-01-01
相关资源
最近更新 更多