0

我是ios的新手,所以以此来判断我的问题。

我有一个代码可以使用。在代码中,我有一个从 FSVerticalTabBarController 继承的垂直标签栏控制器。我们使用这个标签栏控制器在视图控制器之间切换。

我想要的是让视图控制器想出一个动画。任何类型的默认动画都可以。我怎样才能做到这一点?这是代码,感谢您的帮助:

    @implementation AIVerticalTabBarController

@synthesize appDelegate;

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self setDelegate:self];

    [[self tabBar] setBackgroundColor:[UIColor darkGrayColor]];

    NSArray *titles = [NSArray arrayWithObjects:@"Home", @"Export", @"Settings", @"Titles", @"Slides", @"Text doc", nil];
    NSArray *viewClasses = [NSArray arrayWithObjects:@"AIViewController", @"AIViewController", @"AIViewController", @"AITitlesViewController", @"AISlidesViewController", @"AIViewController", nil];

    NSMutableArray *controllersToAdd = [[NSMutableArray alloc] init];
    for (NSUInteger i = 0; i < [titles count]; i++) {
        AIViewController *viewC = [[NSClassFromString([viewClasses objectAtIndex:i]) alloc] init];
        [viewC setAppDelegate:appDelegate];
        UITabBarItem *tbi = [[UITabBarItem alloc] initWithTitle:[titles objectAtIndex:i] image:nil tag:i];



        [viewC setTabBarItem:tbi];



        [controllersToAdd addObject:viewC];
    }

    [self setViewControllers:[NSArray arrayWithArray:controllersToAdd] animated:YES];




}
@end
4

1 回答 1

0

您可以通过将此方法添加到您的 appDelegate 来做到这一点,不要忘记导入 QuartzCore 库

-(BOOL)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{

CATransition *transition = [CATransition animation];
transition.duration = 1.0;
transition.type = kCATransitionPush; //choose your animation
[viewController.view.layer addAnimation:transition forKey:nil];
[self.tabBarController.view addSubview:viewController.view];

return YES;   

}

于 2012-06-11T08:29:27.633 回答