5

पर दो बार बुलाया जा रहा है मैं आईओएस 5 लक्षित परियोजना पर काम कर रहा हूं। मेरे पास अभिविन्यास विधि निम्नानुसार है।चाहिएAutorotateToInterfaceOrientation लॉन्च

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{  
    NSLog(@" My Orientation"); 

    return YES; 
} 

हालांकि, जब मेरे एप्लिकेशन शुरू की है, मेरे लॉग संदेश कंसोल पर दो बार प्रदर्शित किया जाएगा, अर्थात मेरे Orientation दो बार प्रदर्शित किया जाएगा। मैं सिम्युलेटर में अपने ऐप का परीक्षण कर रहा हूं और यह orientation को बदलने के बिना और फिर फिर भी अभिविन्यास को बदलने के बिना लॉन्च पर हो रहा है। जैसे कि,

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

दो बार हर बार बुलाया जा रहा है, जो मुझे लगता है कि एक सही behavior.Any मदद

सराहना की नहीं है।

+3

क्या है इस समस्या को दो बार बुलाया जा रहा है? बीटीडब्ल्यू, आपको हाँ या नहीं लौटना होगा। –

+0

मैं यस – Raj

+0

आईएमओ अपने सामान्य व्यवहार को वापस कर रहा हूं, समर्थित आईओएस 6 में ऑरेंटेशंस को शुरुआत में लगभग 10 गुना भी कहा जाता है और प्रत्येक घूर्णन पर भी दो बार कहा जाता है। – lupatus

उत्तर

1

यह कुछ भी नहीं है जो आपने किया है। ऐप्पल ने डिवाइस को कई बार प्रतिक्रिया दी है। यह सिर्फ ऐप क्या कर रहा है इस पर निर्भर करता है। शायद एक दृश्य भार, या कुछ और इसे फिर से आग लगने का कारण बनता है। हालांकि, क्या यह वास्तव में एक समस्या है? ज्यादातर मामलों में, यह नहीं है (या कम से कम नहीं होना चाहिए)।

यदि यह वास्तव में एक समस्या है, तो शायद किसी को विस्तृत करना चाहिए। हालांकि, कम से कम मेरे अनुभव से, यह आम व्यवहार है। मैं इसे हल करने के किसी भी तरीके से अवगत नहीं हूं।

मुझे लगता है कि यह वास्तव में आपको परेशान करता है और ठीक करने का कोई तरीका नहीं है, तो आप ऐप्पल को एक बग फाइल कर सकते हैं।

0

मैंने अनुभव भी बनाया है कि AutoRotateToInterfaceOrientation हमेशा दो बार कॉल करता है। दिलचस्प विवरण: मेरा अनुभव था कि पहले कॉल में self.view.frame "पुराना" मान रखता है (जहां से यह कहता है) और दूसरे कॉल में "नया" मान (जहां यह जाता है)