2010-11-21 5 views
2

Ich bin sicher, ich habe Code irgendwo irgendwo gesehen, aber ich kann es nicht finden ...Möglich, UITabBarController herunter zu schieben?

Ich möchte in der Lage sein, einen UITabBarController programmatisch rutschen ... nicht beim Übergang zu einer anderen Ansicht, aber innerhalb derselben Ansicht.

Antwort

4

Wenn Sie den UITabBar nach unten rutschen wollen und können Sie versuchen, so etwas wie:

- (IBAction)showHideTabBar:(id)sender { 
    static BOOL isShowing = YES; 

    CGRect tabBarFrame = self.tabBarController.tabBar.frame; 

    if (isShowing) { 
     tabBarFrame.origin.y += tabBarFrame.size.height; 
    } 
    else { 
     tabBarFrame.origin.y -= tabBarFrame.size.height; 
    } 

    isShowing = !isShowing; 

    [UIView animateWithDuration:0.3 animations:^ { 
     [self.tabBarController.tabBar setFrame:tabBarFrame]; 
    }]; 
} 
+0

denke ich die obige Lösung in einem leeren Bereich die Größe der Tab-Leiste verlassen wird, die nicht gezogen werden kann. Dies kann abhängig von der Betriebssystemversion sein. Ich spreche ab iOS 5.1. Meine aktuelle Problemumgehung beinhaltet das Verschieben meiner Ansicht von ihrem Controller in den Tab-Controller, so dass * in diesem unteren Bereich * gezeichnet werden kann. Nicht schön, und würde eine elegantere Lösung bevorzugen - wenn die Ansicht Controller ändert, gibt es einen Sprung in der Animation. –

Verwandte Themen