2016-04-13 7 views
5

मेरे पास एक स्प्लिट व्यू कंट्रोलर है और मैं इसके अंदर एक पॉपओवर पेश कर रहा हूं। अब जब डिवाइस अभिविन्यास लैंडस्केप से पोर्ट्रेट में बदल रहा है, तो मुझे कोड & कोड का एक टुकड़ा चलाने के लिए है यदि यह पोर्ट्रेट से परिदृश्य में बदल रहा है तो मुझे कोड का एक और टुकड़ा चलाने के लिए है। स्विफ्ट में इसे कैसे प्राप्त करें।आईपैड में पोर्ट्रेट से लैंडस्केप और वाइस वर्सा से डिवाइस ओरिएंटेशन चेंज को कैसे जांचें

उत्तर

-1

आईओएस से मदद करता है 8.0 आप नीचे विधि का उपयोग कर अभिविन्यास परिवर्तन का पता लगा सकते हैं।

तेज

func viewWillTransitionToSize(_ size: CGSize, 
    withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) 
आकार आप पता कर सकते से

में ऑब्जेक्टिव-सी

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 

में

+0

इस विधि को नहीं कहा जा रहा है। मेरे पास एक स्प्लिट व्यू कंट्रोलर – Swayambhu

+0

** UISplitViewContoller ** ** UIVIewController ** का उप-वर्ग भी है। इसे कॉल किया जाना चाहिए। एक और महत्वपूर्ण बात यह है कि आप इस विधि को सुपर या नहीं के साथ बुलाते हैं। ** viewWillTransitionToSize: withTransitionCoordinator: ** केवल तभी काम करता है जब इंटरफ़ेस वास्तव में आकार बदलने जा रहा है, जिसका अर्थ है कि हमने 90 डिग्री घुमाया है। यदि आपके लेआउट पर एक मुखौटा है जो केवल परिदृश्य की अनुमति देता है, जब 180 डिग्री घूर्णन होता है, तो अंतरफलक आकार बदलता नहीं है, इसलिए इस विधि को नहीं कहा जाता है। – commando24

16

स्विफ्ट से 4 अपडेट किया गया: ViewDidLoad में नीचे दिए गए कोड जोड़ें:

NotificationCenter.default.addObserver(self, selector: #selector(orientationChanged), name: Notification.Name("UIDeviceOrientationDidChangeNotification"), object: nil) 

इसके बाद एक समारोह बनाने की तरह नीचे

@objc func orientationChanged() { 

    if(UIDeviceOrientationIsLandscape(UIDevice.current.orientation)){ 

     print("landscape") 
    } 

    if(UIDeviceOrientationIsPortrait(UIDevice.current.orientation)){ 

     print("Portrait") 
    } 

} 

आशा इस वसीयत आप :)

+0

UIDeviceOrientation! = UIInterfaceOrientation – nnrales

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