ios - Use single datePicker to validate dates on multiple UITextFields (i.e. fromDate < toDate) -


मैं एकाधिक UITextFields पर एक एकल UIDatePicker का उपयोग कर रहा हूं। जब कोई UITextField टैप किया जाता है, तो यह UIDatePicker कॉल करता है और पाठ को अद्यतन करता है क्योंकि पिकर स्क्रॉल होता है यह सब ठीक काम करता है, हालांकि अब मैं कुछ मान्यताओं को करना चाहता हूं। मेरा UITextFields "से कार्यरत हैं" & amp; "नियोजित" करने के लिए, मुझे यह जांचने की आवश्यकता है कि "से" फ़ील्ड हमेशा "to" क्षेत्र से कम होता है (यानी कोई व्यक्ति नियोजित नहीं किया जा सकता है 1 99 0, TO 1990)।

यह मेरा कोड है जो एक डिफ़ॉल्ट तिथि सेट करता है और प्रत्येक UITextField के लिए इनपुट दृश्य सेट करता है:

  - (शून्य) datePickerTextField {// ओपन डेट पिकर जब टेक्स्टफील्ड को यूआईडीटपीकर * टेप किया जाता है * तारीख पिक्चर = [[यूआईडीएटपीकर एलोक] इनट]; DatePicker.datePickerMode = UIDatePickerModeDate; // सेट करें डिफ़ॉल्ट तिथि NSCalendar * calendar = [[एनएससीएल्लेंडर एलोक] initWithCalendarIdentifier: NSGregorianCalendar]; NSDateComponents * घटक = [[NSDateComponents alloc] init]; [घटकों setDay: 1]; [घटक सेटमॉनथ: 1]; [घटक सेट वर्ष: 1 9 8]; NSDate * defaultDate = [कैलेंडर दिनांकफ़्रेमसंचार: घटक]; [DatePicker setDate: defaultDate]; [DatePicker setMaximumDate: [NSDate date]]; [DatePicker addTarget: स्वयं कार्रवाई: @ सिलेक्टर (अपडेटडेटेटफ़ास्टफिल्ड :) कंट्रोल ईवेंट्स: यूआईकंट्रोलएवेंटवॉल्यूज]; DatePicker.backgroundColor = [UIColor स्पष्ट कॉलर]; // प्रत्येक टेक्स्टफ़ाइल के लिए इनपुट सेट करें [self.empFrom1 setInputView: datePicker]; [आत्म .empTo1 setInputView: datePicker]; // ... अधिक फ़ील्ड [self.empFrom10 setInputView: datePicker]; [आत्म .empTo10 setInputView: datePicker]; }   

मैंने निम्नलिखित की कोशिश की है:

  - (शून्य) updateDateTextField: (UIDatePicker *) datePicker {// प्रारूप दिनांक NSDateFormatter * formatter = [[ NSDateFormatter alloc] init]; [फॉर्मेटर setDateFormat: @ "dd / MM / yyyy"]; NSString * stringFromDate = [फॉर्मेटर स्ट्रिंगफ़ॉर्मडेट: datePicker.date]; UIAlertView * validDate = [[UIAlertView alloc] initWithTitle: @ "त्रुटि" संदेश: @ "कृपया तिथियों की जांच करें" प्रतिनिधि: निल रद्द करेंट्यूटनटाइट: @ "बर्खास्त करें" अन्य बटनटाइटल: शून्य]; // चेक करें कि कौन सा टेक्स्टफ़ील्ड सक्रिय है और यदि निर्धारित तिथि ([self.empFrom1 isFirstResponder]) {self.empFrom1.text = [NSString stringWithFormat: @ "% @", stringFromDate]; NSString * empFrom = self.empFrom1.text; NSString * lastFour = [empFrom सबस्ट्रिंगफ़ॉर्मइंडएक्स: empFrom.length - 4]; _from = @ ([अंतिम पूर्णांक वैले]); NSLog (@ "FROM:% @", _from); } और अगर ([आत्म .empTo1 है फास्ट रेस्पॉन्डर]) {self.empTo1.text = [NSString stringWithFormat: @ "% @", stringFromDate]; NSString * empTo = self.empTo1.text; NSString * lastFour = [empTo substringFromIndex: empTo.length - 4]; _to = @ ([lastFour integerValue]); एनएसएलॉग (@ "TO:% @", _ टू); अगर (_from & gt; _to) {[मान्यडेट शो]; }}   

मुझे यकीन नहीं है कि ऊपर स्निपेट काम क्यों नहीं कर रहा है, क्योंकि NGLog स्पष्ट रूप से सही पूर्णांक को आउटपुट करता है, अभी तक सतर्क अभी भी प्रदर्शित होता है, भले ही FROM TO से कम हो।

 समाधान का प्रयास किया

मैंने आसपास खोज की है और एक एकल UIDatePicker को एकाधिक के लिए फिर से उपयोग करते हुए एक कार्यशील समाधान ढूंढने में असमर्थ हैं < कोड> UITextFields । क्या ये भी संभव है? या मुझे प्रत्येक फ़ील्ड के लिए एक नया UIDatePicker बनाना होगा? किसी भी मदद की बहुत सराहना की है!

  - (शून्य) updateDateTextField: (UIDatePicker *) datePicker { NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [फॉर्मेटर setDateFormat: @ "dd / MM / yyyy"]; NSString * stringFromDate = [फॉर्मेटर स्ट्रिंगफ़ॉर्मडेट: datePicker.date]; UIAlertView * validDate = [[UIAlertView alloc] initWithTitle: @ "त्रुटि" संदेश: @ "कृपया तिथियों की जांच करें" प्रतिनिधि: निल रद्द करेंट्यूटनटाइट: @ "बर्खास्त करें" अन्य बटनटाइटल: शून्य]; // चेक करें कि कौन सा टेक्स्टफ़ील्ड सक्रिय है और यदि निर्धारित तिथि ([self.empFrom1 isFirstResponder]) {self.empFrom1.text = [NSString stringWithFormat: @ "% @", stringFromDate]; Self.dateFrom = datePicker.date; } और अगर ([आत्म .empTo1 है फास्ट रेस्पॉन्डर]) {self.empTo1.text = [NSString stringWithFormat: @ "% @", stringFromDate]; Self.dateTo = datePicker.date; अगर ([स्वडेटी समय से अंतरालसाथडेटाटः स्वडेटे]] gt; [0] {[मान्यडेट शो]; }}}   

अपनी कक्षा में 2 एनएसडीट-प्रॉपर्टी जोड़ें, उदाहरण के लिए dateFrom & amp; तिथि करने के लिए

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -