2012-12-16 8 views
9

मैं AVFoundation का उपयोग कर एक कस्टम कैमरा के साथ कुछ प्रयोग कर रहा हूं और अब तक सबकुछ बढ़िया है। एवीकैम उदाहरण ने मुझे बहुत दूर किया और मैं परिणामों से काफी खुश हूं।आईओएस 6 कैमरा रोटेशन की नकल

हालांकि, एक चीज जो मुझे अभी भी नहीं मिलती है यह है कि आईओएस डिफ़ॉल्ट कैमरा ऐप रोटेशन को कैसे संभालता है। ऐसा लगता है कि पृष्ठभूमि बिल्कुल घूमती नहीं है लेकिन सभी ओवरले नियंत्रण करते हैं।

यह शायद कैमरा-विशिष्ट प्रश्न नहीं है लेकिन मैं इस व्यवहार को कैसे प्राप्त कर सकता हूं?

टीएलडीआर: पृष्ठभूमि परत परत, शीर्ष पर नियंत्रण, पृष्ठभूमि परत घूर्णन किए बिना नियंत्रण घुमाने के लिए कैसे करें?

+1

आप 'रद्द कर सकते थे willAnimateRotationToInterfaceOrientation विशिष्ट यूआई अद्यतन (ग्रे बटन स्थिति स्विचिंग fading, और टूलबार बटन छवि रोटेशन) संभाल चाहिए: अवधि:' और मैन्युअल रूप से सभी नियंत्रण का आकार बदलें। वांछित प्रभाव प्राप्त करने में थोड़ा सा बदलाव हो सकता है, लेकिन यह हमेशा मेरे लिए काम करता है। http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html – Greg

+0

वैकल्पिक रूप से, आप हैकिश दृष्टिकोण ले सकते हैं और कैमरे के दृश्य को रूट 'UIWindow' में डाल सकते हैं ऐप, और नियंत्रण नियंत्रक की पृष्ठभूमि को पारदर्शी करने के लिए सेट करें, ताकि दृश्य नियंत्रक घूमता है लेकिन खिड़की नहीं होती है, और विंडो में कैमरा दृश्य इसके पीछे दिखाई देता है। – Greg

+0

आपका पहला सुझाव मेरा प्रारंभिक विचार था, मैं शायद इसके साथ जाऊंगा। दूसरे ने 'आईओएस 6 और ऊपर की ओर काम किया क्योंकि बच्चे के विचार रोटेशन क्षमताओं को माता-पिता रोटेशन क्षमताओं का उचित सबसेट होना चाहिए। – defer

उत्तर

1

मैं एक ही पर सोच रहा है ...

मेरा अनुमान होगा कि देशी कैमरा ViewController UIViewController रोटेशन तंत्र

  • कोई स्थिति पट्टी रोटेशन का उपयोग बारी बारी से नहीं करता है
  • उप-दृश्यों का कोई 'मूल' घूर्णन नहीं - टूलबार नहीं चलता है, बटन एनिमेटेड
  • और निश्चित रूप से कैमरा पूर्वावलोकन युक्त दृश्य घुमाने नहीं है :)

बल्कि यह [UIDevice beginGeneratingDeviceOrientationNotifications] फोन और

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(yourUpdateMethodForRotation:) notificationName: UIDeviceOrientationDidChangeNotification]; 
संबंधित मुद्दे