/ / UITabBar kann beim Drücken einer bestimmten Registerkarte nicht ausgeblendet werden. [Tab Bar Application] -Vorlage - iphone, ios, ios4, uitabbarcontroller, uitabbar

Kann UITabBar beim Drücken einer bestimmten Registerkarte [Tab-Leiste-Anwendung] -template - iphone, ios, ios4, uitabbarcontroller, uitabbar ausblenden

Entwickler!

Ich arbeite derzeit an einer App, die die Tab Bar Application-Vorlage verwendet. Was ich machen will soll eine Startseite für meine App simulieren, die der ersten Registerkarte entspricht.

Wenn die App gestartet wird, wird die erste Registerkarte ausgewähltund die UITabBar sollte nicht sichtbar sein. In dieser "Startansicht" gibt es mehrere Schaltflächen, die sich wie die übrigen Registerkarten verhalten, also drücke ich beispielsweise die Taste 2 und die zweite Registerkartenansicht wird gedrückt und die UITabBar ist wieder sichtbar.

Mein Problem ist, dass ich eine Möglichkeit habe, die Leiste auszublenden, aber die Unteransicht nicht auf Vollbildgröße verkleinert wird.

Durch die Nutzung: [self.tabBarController.tabBar setHidden: YES];

Ich habe auch versucht: self.hidesBottomBarWhenPushed = YES;

Aber es scheint keine Wirkung zu haben und ich bin nicht sicher, wo ich den Code hinzufügen soll, da ich verwende Die Vorlage.

Weiß jemand, wie man dies mithilfe der Anwendungsvorlage für die Registerkartenleiste implementiert?

Ich vermute, es sollte am sein: - (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController

Aber ich habe das versucht und diese Methode wird nie aufgerufen ...

Danke vielmals, Robert

Antworten:

2 für die Antwort № 1

Mit diesem Code können Sie den Tab-Leisten-Controller ausblenden und die Größe des View-Controllers ändern.

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

int height = 480;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];

for(UIView *view in tabbarcontroller.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x,view.frame.origin.y, 320, 436)];
}
}

[UIView commitAnimations];
}

Diese zweite Methode kann Ihnen helfen, tababr wieder in Sicht zu setzen

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

int height = 480;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];

for(UIView *view in tabbarcontroller.view.subviews) {

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

[UIView commitAnimations];
}

Bitte verstehen Sie den Code, bevor Sie ihn in Ihren Code implementieren ...