2010-03-14 13 views
5

विशिष्ट अधिकतम और न्यूनतम दिनांकों और कई बार के साथ एक UIDatePicker की आवश्यकता है। वर्तमान में NSDatePicker.minimumDate और .maximumDate केवल तारीख पर विचार करने लगते हैं। इसे संभालने का सही तरीका क्या है?क्या UIDatePicker का न्यूनतम दिनांक और अधिकतम दिनांक समय शामिल हो सकता है?

उत्तर

7

NSDates दोनों दिनांक और समय होते हैं। दस्तावेज़ों से:

एनएसडीएटी ऑब्जेक्ट्स समय पर एक बिंदु का प्रतिनिधित्व करते हैं।

उदाहरण नीचे अब से अधिकतम मान के रूप (यह सिर्फ परीक्षण किसी भी UIViewController की viewDidLoad में छोड़ने के लिए) कम से कम मूल्य के रूप में वर्तमान दिनांक और समय और समय एक घंटे के होते हैं:

// Time right now 
NSDate *minDate = [NSDate new]; 
// One hour from now 
NSDate *maxDate = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60]; 

UIDatePicker *picker = [UIDatePicker new]; 
[picker setDatePickerMode:UIDatePickerModeDateAndTime]; 
[picker setMinimumDate:minDate]; 
[picker setMaximumDate:maxDate]; 
[[self view] addSubview:picker]; 
[super viewDidLoad]; 

आप Dev Center पर NSDate के बारे में अधिक पढ़ सकते हैं।

+0

आप पाउलो धन्यवाद। हां, मुझे उपर्युक्त पता है और मेरे दिमागी और अधिकतम एनएसडीएटी वस्तुओं में समय होता है लेकिन यूआईडीएटीपीकर केवल तारीख तक सीमा निर्धारित कर रहा है। दूसरे शब्दों में, अगर मैं आज सुबह 8 बजे ध्यान केंद्रित करता हूं तो यह मुझे तारीख को कल से सेट करने से रोकता है लेकिन मैं अभी भी पहले समय चुन सकता हूं ... उदाहरण के लिए 6 बजे। – CBGrey

+0

यह बहुत अजीब है। यदि आप कुछ घंटों पहले एनएसडीएटी में मिनडेट बदलते हैं तो आपको पहले के समय को चुनने में सक्षम नहीं होना चाहिए। मेरे मामले में 6 बजे चुनने पर क्या होता है यह है कि पिकर न्यूनतम वैध समय 8 बजे वापस एनिमेट करता है। आपको एक कोड नमूना है? –

+1

खैर मुझे यह सुनकर खुशी हो रही है कि जिस तरह से मुझे लगता है कि यह काम करता है। मुझे यह सोचने में नाखुश है कि मुझे अपने कोड में कोई समस्या है :) मुझे इसकी समीक्षा करने दें और देखें कि क्या मैं एक प्रासंगिक नमूना निकाल सकता हूं। आपकी निरंतर मदद के लिए धन्यवाद। – CBGrey

1
NSDateFormatter *FormatDate = [[[NSDateFormatter alloc] init] autorelease]; 
[FormatDate setDateFormat:@"MMMM d y"]; 

NSString *date1=[FormatDate stringFromDate:[theDatePicker date]]; 
NSString *today=[FormatDate stringFromDate:[NSDate date]]; 
NSTimeInterval secondsPerDay = 24 * 60 * 60; 
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay]; 
NSString *tommorow=[FormatDate stringFromDate:tomorrow]; 
[pickerViewPopup dismissWithClickedButtonIndex:0 animated:YES]; 
if ([date1 isEqualToString:today]||[date1 isEqualToString:tommorow]) { 
    NSDateFormatter *FormatDate = [[[NSDateFormatter alloc] init] autorelease]; 
    [FormatDate setDateFormat:@"MMM dd,yyyy"]; 
    currentdate.text = [FormatDate stringFromDate:[theDatePicker date]]; 
संबंधित मुद्दे