13

नोट: समस्या हल हो गई।आईओएस में SWRevealViewController प्रोजेक्ट

यहां कहानी आती है। मैं अपने प्रोजेक्ट में RevealViewController का उपयोग कर रहा हूँ। मैं भी navigationBars छुपा कर रहा हूँ:

[self.navigationController setNavigationBarHidden]; 

मेरे परियोजना नीचे चित्र और "menuButton" में देखा जा सकता tabBarViewController में कार्यान्वित किया जाता।

enter image description here

navigationBar के बाद से छिपा हुआ है की वजह से मेरी इंटरफ़ेस लग रहा है, सब tabViews (HomeViewController) menuButton और navigationBar नहीं दिखाया जाएगा करने वाले के रूप में। मैं मेनू को ट्रिगर करने के लिए panGestureRecognizer का उपयोग नहीं कर रहा हूं।

इसका मतलब है कि मुझे होमव्यू कंट्रोलर में सामान्य बटन के माध्यम से मेनू को ट्रिगर करने में कोई समस्या है। menuButton घटना tabBarViewController.m में रखा गया है:

_menuButton.target = self.revealViewController; 
_menuButton.action = @selector(revealToggle:); 

तो मैं इस तरह tabBarViewController में बटन आग HomeViewController से कोई विधि कॉल करने की कोशिश:

HomeViewController.m

- (IBAction) onMenuClicked: (id)sender{ 

tabBar = [[tabBarViewController alloc] init]; 
[tabBar setupMenu]: 
} 

tabBarViewController.m

-(void) setupMenu{ 

[_realMenuButton sendActionForControlEvents:UIControlEventTouchUpInside]; 
[_realMenuButton addTarget:self.revealViewController action:@selector(revealToggle:) UIControlEventTouchUpInside]; 
} 

इस उदाहरण में मैंने असलीमेनू बटन और सामान्य UIButton बनाने की कोशिश की। Ive ने यूआईबारबटन इटिम के रूप में भी कोशिश की है कि @ चयनकर्ता (प्रकट करें टॉगल :) लेकिन जब मैं होमव्यू कंट्रोलर से बटन ट्रिगर करने का प्रयास करता हूं तो ऐप में कुछ भी नहीं होता है।

यह सुनिश्चित नहीं है कि मैं यह काम कैसे करूं। कोई अन्य विचार या चाल? यदि ऐसा है तो कृपया विशिष्ट रहें! सादर

+0

खैर टैप करते हैं, आप प्रारंभिक दृश्य नियंत्रक नहीं बना एक SWRevealViewController की कोशिश की है? क्या हुआ? – JAL

+0

हां। मेरा प्रारंभिक दृश्य नियंत्रक एक TabBarController है। जब मैं मेनू बटन पर क्लिक करता हूं (मेरे मुख्य दृश्य नियंत्रक में) यह तालिका दृश्य नियंत्रक लोड नहीं करता है। बस कुछ भी नहीं होता है। मैंने गाइड का पालन किया है और उदाहरण परियोजनाओं को देखा है। केवल मेरी परियोजना में अंतर है, मैं प्रारंभिक दृश्य नियंत्रक के रूप में SWReveal क्लास का उपयोग नहीं कर रहा हूं। तो मुझे लगता है कि समस्या है। – user1293618

उत्तर

4

मैंने कोशिश की है और इसे सामान्य के रूप में काम करना चाहिए। यहां तक ​​कि यह प्रारंभिक दृश्य नियंत्रक नहीं है

7

हां, यह अभी भी काम करेगा।

  1. कुछ बिंदु पर presentViewController:animated बुला द्वारा: तो आप अनुप्रयोग में किसी भी बिंदु पर उपयोग कर सकते हैं SWRevealViewController, बस एक UIViewController का एक उपवर्ग है।
  2. एक नेविगेशन ढेर में यह उपयोग करके आदि

ध्यान दें कि आप अपनी सामग्री को देखने नियंत्रक, जो एक नेविगेशन दृश्य नियंत्रक में इस्तेमाल के व्यवहार में परिवर्तन होगा SWRevealViewController से इशारों में जोड़ सकते हैं, लेकिन यह है कि उम्मीद की जा करने के लिए , और आपके पास अभी भी इसके व्यवहार पर पूर्ण नियंत्रण है।

संपादित

अपने अनुप्रयोग के यूआई संरचना अभी भी मेरे लिए स्पष्ट नहीं है - यह आप SWRevealViewController का एक उदाहरण है जब ध्यान में रखते हुए कुलपति वास्तव HomeViewController है पर revealToggle कॉल करने के लिए कोशिश कर रहे हैं की तरह लग रहा? यह कैसे काम करेगा, जब एसडब्ल्यूवीसी भी ध्यान में नहीं है?

TabBarController ---> (रूट) UINavigationController ---> (रूट) SWRevealViewController:

मेरे सबसे अच्छा अनुमान है कि अपने यूआई संरचना इस प्रकार होना चाहिए।

फिर, अपने SWRevealViewController पर, होम व्यू कंट्रोलर को फ्रंट व्यू कंट्रोलर के रूप में सेट करें, और TableViewController दाएं या बाएं व्यू कंट्रोलर के रूप में सेट करें।

+0

ऊपर दिए गए मेरे संपादित प्रश्न को देखो! सादर – user1293618

+0

@ user1293618, उत्तर संपादित किया गया। –

+0

मैंने अपनी समस्या thanx को हल किया: http://stackoverflow.com/questions/23614851/tabbarcontroller-with-swrevealviewcontroller?rq=1 आपकी मदद और समय के लिए Thanx! – user1293618

6

क्या आपको इसका मतलब है?

tabbar controller with menu button?

यह संभव है। आप इस तरह से अपने tabBarController.m में मेनू बटन सेट कर सकते हैं,:

UIBarButtonItem *menu = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"menu.png"] style:UIBarButtonItemStylePlain target:revealController action:@selector(revealToggle:)]; 

self.navigationItem.leftBarButtonItem = menu; 
self.delegate = self; 

मेरे लिए, मेरी प्रारंभिक दृश्य नियंत्रक लॉगिन स्क्रीन है (जाहिर है मैं यहाँ किसी भी कुलपति से पता चलता है की जरूरत नहीं है ...)। फिर जब उपयोगकर्ता प्रवेश बटन,

UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:yourRootVC]; 
LeftMenuViewController *leftMenuVC = [[LeftMenuViewController alloc]init]; 
SWRevealViewController *revealController = [[SWRevealViewController alloc]initWithRearViewController:leftMenuVC frontViewController:nav]; 
revealController.delegate = self; 
[self presentViewController:revealController animated:YES completion:nil]; 
+0

ऊपर दिए गए मेरे संपादित प्रश्न को देखो! सादर – user1293618

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