2013-01-04 34 views
6

我需要將初始日期設置爲「今日」以外的內容,以便用戶被強制進行選擇。我發現如果用戶不做選擇,日期/時間設置爲「無」;我可以發送一個UIAlertView,但這是事實。如何將UIDatePicker設置爲除「今日」之外的初始日期

我看過SO和Google,但什麼都沒發現。我怎樣才能做到這一點?

更新:其實,我沒有說明,但一年沒有顯示,只有月,日和上午/下午。沒有這一年,他們可能看不到未來的日期。牛逼

+4

你的第一眼看起來應該是'UIDatePicker類參考'。 –

+0

你爲什麼要讓你的用戶像這樣跳躍?如果用戶沒有做出選擇,並且返回'nil',爲什麼不檢查這個條件,並且自己提供「今天」值?或者甚至更好,找出爲什麼選擇器返回零 - 這聽起來不像一個正確的默認返回值。 – trudyscousin

+0

trudyscousin:「無」正在退回;我正在和那些不懂電腦的用戶合作,並試圖強迫他們做出選擇。如果我將它設置爲「今天」,他們可能不會認爲它們不需要設置它... – SpokaneDude

回答

7

通過viewDidLoad方法做這

[datePicker setDate:yourDate]; 

8

一個問題,你如何知道用戶不會選擇你設置的特定日期?

我會用

[datePicker setDate:[NSDate date]]; 

顯示今天的日期選擇器日期。

+0

請參閱我對上面的「trudyscousin」的迴應... – SpokaneDude

+2

實際上,'[NSDate date]'以當前時間戳記的形式得到當前時間戳記,代表自2001年忘記確切日期以來的秒數。午夜時分您正在考慮的YYYY-MM-DD內容僅僅是類「-description」方法所使用的默認格式(用於將對象打印到控制檯時使用)。 –

+0

Jonathan:我想......如果我設置默認日期到昨天,哪些工作...現在,培訓用戶更改日期...請將您的評論更改爲答案...:D – SpokaneDude

1

您可以在將來設置一個日期,然後設置一個最小日期,以便用戶在將來只能選擇一個日期(如果這就是您要查找的日期)。

編程

如果你正在做的這一切編程,你應該使用這些屬性:如果您通過廈門國際銀行做

@property(nonatomic, retain) NSDate *maximumDate; 
@property(nonatomic, retain) NSDate *minimumDate; 
@property(nonatomic, retain) NSDate *date; 

隨着Interface Builder的

(或故事板)文件,在屬性檢查器中你可以設置所有的屬性:日期,還有最小和最大日期,所以如果你想讓我們呃今天不能設定日期,但只有一個日期,今後,用最少的時間:

enter image description here

PS:如果你想顯示的日期只有部分更改格式。

1
NSDate *todayDate = [NSDate date]; 

NSDate *aGo = [todayDate dateByAddingTimeInterval:-6*24*60*60]; 
  1. 它將爲日期選擇器

    [_datePickerView setMinimumDate:aGo];

  2. 最小日期當我們打開datepickerview默認日期位置在這裏設置

    [_datePickerView setDate:[NSDate date]];

相關問題