在UIViewController和UITabBarViewController之间添加过渡效果

时间:2012-12-12 00:44:04

标签: iphone ios transition

我试图在我的两个UIControllers之间添加过渡效果。它们之间的切换工作正常,但我想添加一个很好的过渡效果。

这是我的AppDelegate.m

@implementation LaMetro_88AppDelegate

@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
@synthesize LoadingViewController = _LoadingViewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

     self.window.rootViewController = self.LoadingViewController;
    [self.window addSubview:tabBarController.view];
    [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(changeView) userInfo:nil repeats:NO];


    [self.window makeKeyAndVisible];
    return YES;
}

-(void)changeView
{

    self.window.rootViewController = self.tabBarController;   

}

此代码在控制器之间切换,并且工作正常。

1 个答案:

答案 0 :(得分:0)

要获得过渡动画,必须显示标签栏控制器。试试这种方式(我没有测试过):

self.tabBarController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;  // your choice here
self.window.rootViewController presentViewController:self.tabBarController animated:YES completion:^{}];

查看您的代码,可能是您要呈现启动vc。如果只需要在那里展示徽标,那么计时器方法就可以了。 (但是,您可能需要考虑performSelector:withObject:afterDelay:这是隐藏该计时器的一种更漂亮的方式)。

如果启动vc需要在应用程序准备好运行之前做一些工作(比如登录,或其他需要花费足够长时间才能异步执行的操作),我建议您查看this approach I suggest)。< / p>