/ / स्टोरीबोर्ड का उपयोग कर डबल यूआईटैब व्यू कॉन्ट्रोलर्स - आईफोन, आईओएस, एक्सकोड, आईओएस 5, स्टोरीबोर्ड

स्टोरीबोर्ड का उपयोग कर डबल UITabViewControllers - आईफोन, आईओएस, एक्सकोड, आईओएस 5, स्टोरीबोर्ड

वर्तमान में मेरे पास एक सेटअप हैFirstTabViewController प्रत्येक 5 बार मेज लोड करने वाले प्रत्येक बटन की मेजबानी कर रहा है। जब कोई उपयोगकर्ता तालिका कोशिकाओं में से एक का चयन करता है, तो यह 4 अलग टैब बटन के एक सेट के साथ एक दूसराटैब व्यू कॉन्ट्रोलर खोलता है। मैं एक नेविगेशन नियंत्रक को एम्बेड कर रहा हूं।

मैंने इसे स्टोरीबोर्ड के माध्यम से सेट किया है और ऊपर आया हूंकुछ मुद्दों के साथ। सबसे पहले जब यह दूसरीTabViewController को लोड करता है तो यह इसे FirstTabViewController के भीतर लोड करता है इसलिए मेरे पास एक दूसरे के ऊपर टैब बटन के 2 सेट हैं। अगर मैं सेगनल को मोडल में बदलता हूं तो यह दूसरीटैब व्यूकंट्रोलर को सही तरीके से लोड करता है, लेकिन मुझे वापस जाने के लिए नेविगेशन कंट्रोलर का उपयोग करने की अनुमति नहीं देता है।

क्या इसका कोई समाधान है या क्या मुझे स्टोरीबोर्ड का उपयोग करने के साथ अपना समय बर्बाद करना बंद करना चाहिए और बल्कि इसे प्रोग्रामेटिक रूप से सेट करना चाहिए?

स्क्रीनशॉट: स्टोरीबोर्ड

उत्तर:

जवाब के लिए 0 № 1

मैं इस कोड का उपयोग तब करता हूं जब मैं एक टैबबार छिपाना चाहता हूं: मैं भूल गया कि मैंने इसे कहाँ से चुराया है, लेकिन मुझे यकीन है कि यह SO पर यहाँ था।

- (void) hideTabBar:(UITabBarController *) tabbarcontroller {


[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}

}

[UIView commitAnimations];





}

- (void) showTabBar:(UITabBarController *) tabbarcontroller {

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{

if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];

}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}


}

[UIView commitAnimations];
}

जवाब के लिए 0 № 2

अपनी मूल रणनीति का उपयोग करें और फिर अपना दूसरा टैब बार दृश्य खोलने पर पहले टैब व्यू कंट्रोलर के टैब बार को छिपाएं।