2012-10-30 13 views
6

मैं एक UIView है, मैं इसे एक नया day.For उदाहरण में प्रदर्शित करना चाहते हैं, आज मैं अपने एप्लिकेशन लॉन्च, और कहा कि UIView मेरे विचार करने के लिए आता है, लेकिन इस के बाद, मैं कल तक कि UIView नहीं देख सकता।यह निर्णय कैसे लें कि यह आईओएस प्रोजेक्ट में एक नया दिन है या नहीं?

तो मुझे पता है कि न्याय के लिए कैसे है कि क्या यह UIView प्रदर्शित करने के लिए एक नया दिन है करना चाहते हैं?

उत्तर

15

आप UIApplicationSignificantTimeChangeNotification अधिसूचना के लिए रजिस्टर करने के लिए की जरूरत है।

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeChange) name:UIApplicationSignificantTimeChangeNotification object:nil]; 

फिर timeChange विधि (या जो भी आप इसे कहते हैं) में अपने दृश्य को अपडेट।

भूल मत का पंजीकरण रद्द करना:

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationSignificantTimeChangeNotification object:nil]; 

यह सूचना आधी रात को भेज दिया जाता है, उपयोगकर्ता अपने डिवाइस पर समय बदल जाता है, या समय क्षेत्र में परिवर्तन करता है, तो। यदि परिवर्तन होता है तो आपका ऐप पृष्ठभूमि में होता है, तो जब ऐप अग्रभूमि पर वापस आ जाता है तो उसे अधिसूचित किया जाएगा।

+0

समय बदल जाता है, मैं एप्लिकेशन दिखाया गया है को देखते के सामने एक ViewController प्रदर्शित करने के लिए एप्लिकेशन चाहते हैं, और यह UIAlertView की तरह लगता है? कि संभव है जब? – lixiaoyu

+0

जब आप समय परिवर्तन अधिसूचना प्राप्त करते हैं तो आप कोई भी कार्यवाही कर सकते हैं। ध्यान रखें कि जब आप नोटिफिकेशन मिलता है, यह 5 मिनट पहले हो सकता है कि (उपयोगकर्ता अपने iOS डिवाइस पर समय बदलने के हैं), यह अगले दिन (मध्यरात्रि) हो सकता है या यह एक सप्ताह बाद (यदि हो सकता है एप्लिकेशन कई दिनों के लिए पृष्ठभूमि में रहा है)। – rmaddy

+0

यदि आपका ऐप बंद है तो क्या होता है। मध्यरात्रि के बाद ऐप खोले जाने पर आपको अधिसूचना याद आती है? – Kobe

संबंधित मुद्दे

 संबंधित मुद्दे