2012-06-22 12 views
7

मैं निम्नलिखित समस्या है:नेविगेट स्क्रीन बटन

अपने आवेदन में अन्य लोगों के स्क्रीन पर नेविगेट करने के दो तरीके हैं: बटन द्वारा या एक टैब बार से।

सभी स्क्रीनों में टैब बार होता है जो अन्य स्क्रीन को कॉल करता है लेकिन होम स्क्रीन वह है जिसमें बटन होते हैं लेकिन टैब बार नहीं होता है।

जब मैं अपना ऐप विकसित करना शुरू करता हूं तो मैं टैब बार एप्लिकेशन टेम्पलेट चुनता हूं और यदि मैं टैब दबाकर स्क्रीन को कॉल करता हूं तो यह ठीक काम करता है। समस्या तब होती है जब मैं होम स्क्रीन के साथ काम करता हूं:

  • मुझे इस विशिष्ट स्क्रीन में टैब बार को "छिपाने" की आवश्यकता है।
  • होम स्क्रीन में, यदि मैं बटन द्वारा एक नई स्क्रीन कॉल करता हूं तो टैब बार नई स्क्रीन में गायब हो जाता है (समझ में आता है क्योंकि स्क्रीन एक बटन द्वारा कॉल कर रही है और टैब बार द्वारा नहीं)।

मुझे यह सोचने के लिए कि शायद मैं एक कस्टम टैब बार (मुझे अभी तक नहीं पता) बना सकता है और इसे अपनी स्क्रीन पर यूआईसींट्रोल की तरह कॉल कर सकता हूं, इसलिए अगर मुझे बदलने की ज़रूरत है टैब बार संशोधन उन सभी स्क्रीन पर सक्षम होंगे जो उस नियंत्रण को कॉल करते हैं।

आप क्या सलाह देते हैं? एक कस्टम टैब बार बनाने और यूआईसींट्रोल की तरह इसका उपयोग करना एक अच्छा विचार है? यदि हां, तो मैं एक कैसे बना सकता हूं?

मैं इस का उपयोग खिड़कियों

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil]; 
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release]; 
+0

आप बिट कोड है कि आप विचारों पुश करने के लिए का उपयोग कर रख सकते हैं? – Ahmed

+0

@ अहमद यकीन है कि, मैं इसका उपयोग करता हूं, मैं इसे विंडोज़ रिकूरिंग गिफ्ट लिस्ट व्यू कंट्रोलर * सूचीव्यू कंट्रोलर = [[रिकूरिंग गिफ्ट लिस्ट व्यू कंट्रोलर एलोक] initWithNibName: @ "RecurringGiftListViewController" बंडल: nil] पर कॉल करने के लिए इसका उपयोग करता हूं; listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [स्वयं उपस्थित मॉड्यूल दृश्य नियंत्रक: सूची दृश्य नियंत्रक एनिमेटेड: हाँ]; [listViewController रिलीज]; – avmauricio

उत्तर

1

कहां बिल्कुल एक tabbar का उपयोग करना चाहिए की तरह यह नहीं लग रहा कॉल करने के लिए। जब आप बटनों में से किसी एक को दबाते हैं तो एक टैबबार गायब नहीं होना चाहिए। अपने ऐप के लिए मुख्य मेन्यू की तरह सोचें। आपके पास अन्य स्क्रीनें हो सकती हैं, जैसे कि नेविगेशन कंट्रोलर या एक मोडल डायलॉग जो पूरे स्क्रीन पर ले जाता है, लेकिन फिर आप टैबबार पर वापस निकलने में सक्षम होना चाहिए।

एक बार फिर अपने उपयोगकर्ता इंटरफ़ेस की संरचना के माध्यम से सोचें। शायद आप अपनी "होम स्क्रीन" को एक टैबबार पृष्ठों में से एक से पहुंचने योग्य संवाद बनाने के लिए फिर से व्यवस्थित कर सकते हैं?

+0

समस्या यह है कि ऐप का डिज़ाइन क्लाइंट द्वारा बनाया गया है, इसलिए मुझे नहीं लगता कि मैं इसे बदल सकता हूं – avmauricio

+1

जब कोई ग्राहक आपको खराब डिज़ाइन देता है, तो आपको उन्हें शिक्षित करने की आवश्यकता होती है कि यह क्यों बुरा है, और यूआई कैसे प्रतिमान काम करना चाहिए। मेरे पास एक ग्राहक था जिसने मूल रूप से अपने ऐप के लिए एक वेब डिज़ाइन किया था, छोटे, छोटे चेकबॉक्स के साथ पूरा किया। कोको टच को खराब डिजाइन में झुकाव करने की कोशिश करने से आपको दर्द होता है, और इसके परिणामस्वरूप खराब उत्पाद होता है। यह हारने वाली स्थिति है। – geon

1

आपकी समस्या यह है कि आप अपना अन्य दृश्य 'मोडल' के रूप में पेश कर रहे हैं। इस के साथ अपने कोड बदलें:

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];    
//listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self.navigationController pushViewController:listViewController animated:YES]; 
[listViewController release]; 

आशा इस में मदद मिलेगी

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