2012-06-22 13 views
13

पर ऐप सेटिंग्स के आधार पर UIDatepicker में 12 और 24 घंटे प्रारूप में समय दिखाएं मेरी समस्या यह है कि मेरे ऐप में एक स्विच है जो 12 घंटे और 24 घंटे के समय प्रारूप के लिए टॉगल करता है। मैं अपने लेबल समय प्रदर्शित कर रहा हूं इसके अनुसार, लेकिन UIDatePicker समय नहीं बदला जा रहा है। यह समय डिवाइस समय सेटिंग प्रारूप के आधार पर है। क्या मेरी ऐप सेटिंग्स के अनुसार UIDatePicker में समय दिखाना संभव है जो डिवाइस समय सेटिंग से अलग हो सकता है। कहीं मैंने पढ़ा है कि UIDatePicker केवल डिवाइस सेटिंग्स का सम्मान करता है लेकिन फिर भी मैं पूछना चाहता हूं कि मेरी ऐप सेटिंग्स के आधार पर UIDatePicker में 12 और 24 घंटे प्रारूप में समय दिखाना संभव है या नहीं।डिवाइस सेटिंग्स

कृपया मेरी मदद करें। किसी भी सुझाव की अत्यधिक सराहना की जाएगी!

उत्तर

9

UIDatePicker के लिए आप 24 या 12 के लिए समय प्रारूप को बदल नहीं सकते, यह setting.app

+0

क्या आप इसे सेब दस्तावेज प्रदान कर सकते हैं। –

+0

हम कर सकते हैं ......... –

+0

@AlmasAdilbek क्या आप उल्लेख कर सकते हैं कि हम कैसे कर सकते हैं ?! अंतर्राष्ट्रीयकरण है कि स्थानीय बदलते स्वरूप में रोके होगा - कि पहले से ही में [UIDatePicker] (https://developer.apple.com/documentation/uikit/uidatepicker#//apple_ref/occ/instp/UIDatePicker/locale) उल्लेख किया गया है। –

2

अपनी यूआईडीएटीपीकर को लोकेल संपत्ति रखने के लिए सेट करें ताकि यह उपयोगकर्ता के लोकेल के लिए डिफ़ॉल्ट न हो।

ऐसा करने के लिए documentation है, और country, not the language सेट करना सुनिश्चित करें।

संपादित करें: दरअसल, ऐसा लगता है कि आईओएस 5.0 में लोकेल की कमी आई है। मुझे लगता है कि ऐप्पल ने सोचा था कि लोगों को इसे ओवरराइड नहीं करना चाहिए।

+0

लॉरेंस वू आप क्योंकि मैं पहले से ही की कोशिश की है यह अभ्यस्त काम यह कुछ कोड प्रदान करें कर सकते हैं। – Gypsa

+0

मुझे अब और यकीन नहीं है क्योंकि ऐसा लगता है कि लोकल संपत्ति को नवीनतम ओएस में गिरा दिया गया है, लेकिन इन समान प्रश्नों को देखें: http://stackoverflow.com/questions/6197641/24hr-uidatepicker http: // stackoverflow .com/प्रश्न/2648719/uidatepicker-locale-do-nothing –

+0

क्षमा करें कि लिंक का उपयोग नहीं है। क्या आप कुछ और सुझाव दे सकते हैं। – Gypsa

31

में उपयोगकर्ता स्थानीय सेटिंग्स पर निर्भर करता DatePicker में 24 घंटे स्वरूप दिखाने के लिए इस कोड का प्रयास करें:

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"]; 
[self.datePicker setLocale:locale]; 
+0

उत्कृष्ट जवाब! धन्यवाद! –

+0

एकमात्र उत्तर जो – CRDave

+2

काम करता है, यह मेरे लिए काम करता है, धन्यवाद। लेकिन यह किस कारण से काम करता है? – Miroslav

0

अगर मैं आपको सही तरीके से समझता हूं तो आपको यह पता लगाना होगा कि डिवाइस सेटिंग्स में 12 घंटे या 24 घंटे का प्रारूप है या नहीं। क्षमा करें अगर यह समाधान थोड़ा देर हो चुकी है।

-(BOOL)returnDefaultDateFormat 
    { 
     NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j"  options:0 locale:[NSLocale currentLocale]]; 
     NSRange containsA = [formatStringForHours rangeOfString:@"a"]; 
     BOOL hasAMPM = containsA.location != NSNotFound; 
     return hasAMPM; 
} 
2

मैं स्टोरीबोर्ड पर निरीक्षक विशेषताओं UIDatePicker पर क्लिक करें और 'अंग्रेजी (यूरोप)' के लिए स्थान सेट एक आसान तरीका ढूंढ लेते हैं तो। यह एएम/पीएम टॉगल ले जाता है और समय 24 घंटे प्रारूप में सेट करता है।

+0

मेरी इच्छा है कि इस उत्तर में और जानकारी हो। –

15

स्विफ्ट में

// myDatePicker is yourUIDatePicker Outlet 
    @IBOutlet weak var myDatePicker: UIDatePicker! 

    // For 24 Hrs 
    myDatePicker.locale = NSLocale(localeIdentifier: "en_GB") as Locale 

    //For 12 Hrs 
    timePickerView.locale = NSLocale(localeIdentifier: "en_US") as Locale 
1

कोड के किसी एक लाइन की कोई जरूरत नहीं है आप कहानी बोर्ड से स्थान निर्धारित कर सकते हैं नहीं है भी मैं स्क्रीनशॉट

enter image description here

और यह करने के लिए संलग्न प्रोग्राम 3.0 में तेजी से हम

dateTimePicker.locale = Locale(identifier: "en_GB") 
2

स्विफ्ट 4 ak2g के जवाब के संस्करण:

// myDatePicker is yourUIDatePicker Outlet 
@IBOutlet weak var myDatePicker: UIDatePicker! 

// For 24 Hrs 
myDatePicker.locale = Locale(identifier: "en_GB") 

//For 12 Hrs 
myDatePicker.locale = Locale(identifier: "en_US") 
संबंधित मुद्दे