2016-03-29 23 views
0

我有一個日期選擇器,設置爲不允許用戶選擇未來的日期。它的最大日期是在viewDidLoad上爲當前時間設置的。Datepicker maximumDate在當天的早期時間停留在昨天的一天

dateDatePicker.maximumDate = NSDate() 

但我一直在注意到一個錯誤。今天直到中午,最大日期是昨天的日期。但現在,中午之後它顯示了今天的日期。

我實現它的方式:當用戶想要使用日期選取器時,會顯示日期選取器並將其隱藏起來。所以我設置的最大日期不是每次顯示選擇器,但一旦它加載它的視圖。

所以我不知道這是否是一個錯誤? 它與時區有關嗎? 或者我只在調用dateDatePicker.maximumDate時看到加載並且可能發生在幾天之前的事實? 或者如果我每次顯示datePicker時都應該重置maximumDate?

回答

1

是的,你應該幾乎可以肯定地設置每次你顯示日期選擇器的最大日期。

如果您設置前一天的最大日期,然後從未更新它,也不關閉視圖控制器,它不會更改。

將其設置爲viewWillAppear,而不是viewDidLoad。

如果這不起作用,請使用NSCalendar和NSDateComponents構建一個當前日期爲23:59的NSDate(從當前日期獲取MM/DD/YYYY作爲日期組件,然後手動將時間設置爲23:59。應該可以。