2010-09-02 8 views
5

जब भी उपयोगकर्ता परिदृश्य से स्विच करता है तो आईपैड के UIsplitView में पोर्ट्रेट व्यू पर स्विच करता है। हालांकि उपयोगकर्ता बार बटन पर क्लिक करके इसे दृश्यमान बना सकता है लेकिन मैं इसे पोर्ट्रेट मोड के लिए स्वचालित करना चाहता हूं।पोर्ट्रेट मोड में यूआईएसप्लिटव्यू के पॉपओवर को कैसे दिखाना है आईपैड

उत्तर

4

अंदर "- (बूल) चाहिएऑटोरोटेट टॉइंटरफेसऑरिएंटेशन" विधि, डिवाइस अभिविन्यास के लिए जांचें। अगर यह चित्र है, तो पॉपओवर प्रस्तुत करें जब आप बार बार बटन क्लिक करते समय इसे दृश्यमान बनाने के लिए करते हैं।

सभी बेहतरीन।

+0

और यह लागू किया जाना चाहिए जिसमें दृश्य नियंत्रक वास्तव में? – user102008

+0

अपने विभाजित दृश्य नियंत्रक के विस्तार दृश्य नियंत्रक। शुभकामनाएं। – gopikrishnan

+0

यह विधि आईओएस 6 में प्रदर्शित की गई है। 'DidRotateFromInterfaceOrientation का उपयोग करें: ' – hop

2

UISplitViewController अपने प्रतिनिधि (UISplitViewControllerDelegate) को संदेश भेजता है। आप पॉपओवर दिखाने के लिए इस प्रतिनिधि तरीकों को लागू कर सकते हैं। आप अपने "विस्तार नियंत्रक" कोड में कुछ इस तरह कर सकते हैं:

#pragma mark - 
#pragma mark UISplitViewControllerDelegate implementation 
- (void)splitViewController:(UISplitViewController*)svc 
    willHideViewController:(UIViewController *)aViewController 
      withBarButtonItem:(UIBarButtonItem*)barButtonItem 
     forPopoverController:(UIPopoverController*)pc 
{ 
    [barButtonItem setTitle:@"Your 'popover button' title"]; 
    self.navigationItem.leftBarButtonItem = barButtonItem; 
} 


- (void)splitViewController:(UISplitViewController*)svc 
    willShowViewController:(UIViewController *)aViewController 
    invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem 
{ 
    self.navigationItem.leftBarButtonItem = nil; 
} 
+0

इन प्रतिनिधियों में आपका सभी काम एक बटन दिखा रहा है। ओपी चाहता था कि पोर्ट्रेट पर घूमते समय पॉपओवर दिखाई दे। –

1

स्वीकार किए जाते हैं जवाब (shouldAutorotateToInterfaceOrientation उपयोग करते हुए) मेरे लिए काम नहीं करता। इसमें या तो रोटेशन कलाकृतियों (4.2 और 5.0 आईपैड सिमुलेटर में) हैं या केवल स्टार्टअप पर दिखाए जाते हैं और बाद में घूर्णन (4.3 सिम्युलेटर) में कभी नहीं दिखाते हैं।

- (void)showPopoverInPortrait { 
    if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait) { 
     [self.masterPopoverController presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem 
              permittedArrowDirections:UIPopoverArrowDirectionAny 
                  animated:YES]; 
    } 
} 

और - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation और - (void)viewDidLoad के भीतर इस फोन भी स्टार्टअप पर संभाल करने के लिए: क्या मैं बजाय किया एक छोटे सहायक समारोह बनाने के लिए किया गया था।

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