2012-05-07 14 views
6

मैं idev-व्यंजनों का उपयोग कर रहा मोडल करने के लिए/RaisedCenterTabBar और मैं केंद्र बटन, नहीं एक कैमरे से कहा जाता है एक मॉडल दृश्य चाहते हैं।ios टैब बार बटन दृश्य

कोड यहाँ है: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

यह कैसे काम कर पाने के लिए पर कोई भी विचार?

+0

हां, 'UITabBar' पर एक बटन टैप करने से एक मोडल व्यू उठाना संभव है। आपको अपना प्रश्न अधिक विशिष्ट बनाना होगा। –

+0

एक सा ... – stewart715

उत्तर

2

मैं UITabBarController की अपनी खुद की उपवर्ग पैदा करेगा और उसके बाद इस पद्धति में जोड़ें:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 

} 

आप बताने के लिए आइटम का चयन किया गया था में सक्षम हो जाएगा और फिर वहाँ के अंदर एक मॉडल कुलपति का दृष्टांत।

+0

क्या मौजूदा टैब पट्टी में आइटम के साथ संलग्न कुलपति के बारे में अपडेट किया गया? क्या इसे अनदेखा किया जाना है, या टैब बार आइटम को रखते हुए मैं इसे हटा सकता हूं? – stewart715

+0

मुझे लगता है कि आप इसे अनदेखा कर सकते हैं। यह हटाया नहीं जा सकता (एक TabBarController हर टैब के लिए एक कुलपति की जरूरत है)। –

+7

लेकिन जब मैं मोडल खोलता हूं तो क्या यह इसके पीछे वीसी स्विच नहीं करेगा और फिर मोडल शो रिक्त वीसी के साथ किया जाएगा? मैं इसे अनदेखा करने के लिए कैसे प्राप्त करूं और डिफ़ॉल्ट कार्रवाई प्रस्तुत नहीं करूं? – stewart715

0

शायद आप UITabBarDelegate का उपयोग
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
विधि के साथ कर सकते हैं।
विधि, प्रतिनिधि को भेजा जाता जब कोई टैब बार में एक बटन दबाता है। वहां आप जांच सकते हैं कि यह सही बटन था या नहीं, और फिर मोडल व्यू कंट्रोलर को तुरंत चालू करें।

0

या तो सबक्लासिंग या प्रतिनिधि का उपयोग करके, आप बस यह जांच सकते हैं कि चयनित आइटम आपका मध्य बटन है और यदि ऐसा है, तो टैब बार उस आइटम का चयन करें जिसे पहले चुना गया था और फिर अपना मॉडल व्यू कंट्रोलर प्रस्तुत करें। के बाद से आप एक ही RunLoop स्रोत है कि मूल चयन हुआ भीतर यह कर दिया जाएगा, टैब चयन को प्रभावी ढंग से कभी बीच कुलपति पर स्विच किए बिना पूर्ववत कर दिया जाएगा।

0

आप द्वारा प्रदान की कोड नमूना => के अनुसार https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

केंद्रीय उठाया टैब बटन एक UIButton है, इसलिए केवल BaseViewController.m कक्षा में इस तरह है कि बटन की क्रिया सेट

[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside]; 

और फिर showmodalview विधि में लिखने के लिए इस कोड =>

-(void)showmodalview 
{ 
    UIViewController *view1=[[UIViewController alloc] init]; // you can use any view controller instance you want ,this is just the example. 
    [self presentModalViewController:view1 animated:YES]; 
} 
4

एक बेहतर दृष्टिकोण के क्रम में पालन करने के लिए है इसे पूरा करो। और बहुत आसान है।

इस पद्धति का उपयोग करके कार्यान्वित करके मैं क्या समझता हूं: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar यह है कि जब आप टैब बार को छिपाने की कोशिश कर रहे हैं तो अजीब चीजें हो रही हैं। तो मेरे लिए सबसे अच्छा समाधान (जैसा कि आप करते हैं) यहां है: http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/

कुछ और करने की आवश्यकता नहीं है। केवल दृश्य नियंत्रक को अनदेखा करें कि UITabBarItem आपके मोडल व्यू से जुड़ा हुआ है और प्रस्तुत करता है! बस इतना ही!

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