0

我在我的应用程序中使用了一个标签栏控制器,里面有几个视图控制器,只是普通的标准东西。最近,当我从内容视图中单击一个按钮时,我需要添加滑动整个屏幕的功能。

这就是我的 appdelegate 所做的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   self.window.root = self.tabBarController; //tabBarController is IBOutlet to the tabbar
}

在我的一个视图控制器中,我这样做:

- (IBAction)filterButtonTapped:(id)sender {

    [UIView animateWithDuration:0.2 delay:0.0f options:UIViewAnimationOptionCurveEaseInOut  | UIViewAnimationOptionBeginFromCurrentState animations:^{
        //slide everything to the right?
        self.navigationController.view = CGAffineTransformMakeTranslation(260.0f, 0.0f);

    } completion:^(BOOL finished) {
       //do something, possibly show the view that comes up from the left 
    }];

你可能会问为什么按钮需要在 contentview 中,因为我想我的应用程序想要按照我猜的方式设计?

现在,标签栏的内容会滑动,但下面的标签栏不会滑动,我知道这是因为 self.navigationController.view 是标签栏内的内容视图。

我一直在尝试找到一种方法来滑动/动画整个东西但是从内容视图内部是否有可能到达根目录?

您对此有何建议?

4

1 回答 1

0

您可以使用从任何 VC 内部访问您的标签栏控制器视图

self.tabBarController.view

然后只需为该视图设置动画即可。

于 2012-11-25T18:46:01.413 回答