2013-02-14 20 views
8

के साथ PKRevealController एकीकृत करें I PKRevealController को मेरी मौजूदा प्रोजेक्ट में एकीकृत करने की कोशिश कर रहा हूं।आईओएस स्टोरीबोर्ड और ऑटो लेआउट

https://github.com/pkluz/PKRevealController

कैसे मैं अगर मैं स्टोरीबोर्ड उपयोग कर रहा हूँ अपने बाएं दृश्य नियंत्रक, सही दृश्य नियंत्रक, और सामने का दृश्य नियंत्रक सेट करूं? रीडमे कहता है ...

PKRevealController *revealController = [PKRevealController revealControllerWithFrontViewController:frontVC leftViewController:leftVC options:options]; 

self.window.rootViewController = revealController; 

मैं अपने मौजूदा स्टोरीबोर्ड प्रोजेक्ट में कोड की इन पंक्तियों को कहां रखूं? या क्या इसे स्थापित करने के लिए कोई विकल्प हैं?

धन्यवाद!

+3

मैंने यहां एक समान प्रश्न का उत्तर दिया: [मौजूदा एक्सकोड स्टोरीबोर्ड पर पीकेआरवेल कंट्रोलर का उपयोग करना] (http://stackoverflow.com/questions/14824959/using-pkrevealcontroller-on-existing-xcode-storyboard/14825615#14825615) – rdelmar

उत्तर

2

बस सेग्यू गंतव्य नियंत्रक के प्रकार को PKRevealController पर सेट करें और फ्रंट, बाएं और दाएं दृश्य नियंत्रक के लिए स्टोरीबोर्ड आईडी सेट करें।

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 

    if ([segue.identifier isEqualToString:@"ToMain"]) { 

    PKRevealController* prc = segue.destinationViewController; 

    prc.frontViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FrontViewController"]; 
    prc.leftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LeftViewController"]; 
    prc.rightViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"RightViewController"]; 

    } 
} 
+0

मैं नहीं करता इसे प्राप्त नहीं करें। क्या इसका मतलब है कि मुझे अपने स्टोरीबोर्ड के 'पीकेआरवेल कंट्रोलर' एंट्री पॉइंट बनाना चाहिए? क्या मैं टैब बार बटन से PKRevealController को अभी नहीं बुला सकता हूं हैंडलर क्लिक करें? – expert

+0

इसके अलावा 'leftViewController' मेरे मामले में केवल पढ़ने योग्य संपत्ति है। – expert

+1

यह ध्यान देने योग्य है कि यह काम नहीं करता है।आप आईबी में 'PKRevealController' की कक्षा रखने के लिए दृश्य नियंत्रक सेट कर सकते हैं, लेकिन जब segue होता है, तो स्क्रीन खाली होती है, केवल एक पारदर्शी ग्रे। – barndog

2

मैं जानता हूँ कि यह एक पुरानी धागा है, लेकिन मैं यहाँ वैसे भी इसे बाहर जा रहा हूँ :)

बनाने के स्टोरीबोर्ड साथ PKRevealController काम मूल रूप से आप तीन दृश्य नियंत्रकों की आवश्यकता होगी।

  1. BaseController, जो PKRevealController कैसे मुख्य सामग्री नियंत्रक और नेविगेशन नियंत्रक के लिए आधार के रूप में कार्य करने के लिए जा रहा है के लिए बढ़ा दी हो (मैं यह है कि कहा जाता है)।

  2. मेनकंट्रोलर, जो fronViewController के रूप में सेट हो जाता है।

  3. NaviController, जिसे हम मूल रूप से बाएं व्यू कंट्रोलर, उर्फ ​​नेविगेशन मेनू के रूप में उपयोग करते हैं।

एफवाईआई: आप स्ट्रायबोर्ड से मेनकंट्रोलर और नवी नियंत्रक को डिज़ाइन और कोड कर सकते हैं।

तो इस तरह हम इसे करते हैं; सबसे पहले हमें अपने बेसकंट्रोलर को इस तरह के पीकेआरवेल कंट्रोलर के साथ विस्तारित करने की आवश्यकता है;

@interface MainController : PKRevealController 

दूसरा, अभी भी बेसकंट्रोलर में, इन लाइन को दृश्य में जोड़ेंडलोड विधि;

//init the fonrViewController 
UIViewController *homeController = [self.storyboard instantiateViewControllerWithIdentifier:@"homeScreen"]; 
//init the leftViewController 
UIViewController *naviContrlller = [self.storyboard instantiateViewControllerWithIdentifier:@"quickNaviScreen"]; 

[self setFrontViewController:homeController]; 
[self setLeftViewController:naviContrlller]; 

फिर पीकेआरवेल कंट्रोलर प्रतिनिधि के रूप में सेट करें;

self.delegate = self; 

और यही वह है।

+0

धन्यवाद यह काम करता है! लेकिन सामने वाले वीसी से स्वाइप किए बिना मेनू को बाएं या दाएं कैसे दिखाया जा सकता है? plz –

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