私は自分のビューの変更をアニメーション化したいと思いますが、アニメーションを配置する場所がわからないのは、UITabBarControllerがどのビューを制御しているのか、また切り替えることができるからです。私のappdelegate.mファイルには、xcodeテンプレートに従ってください。uitabbarcontrollerでビューの変更をアニメーション化する
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
これは、すべてがロードされる各viewcontroller内の領域です。ここでアニメーションを初期化する方が良いかもしれないと考えています。私は景色を眺めながら、アニメーションの多くを行っていないとして
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = NSLocalizedString(@"Super", @"Super");
self.tabBarItem.image = [UIImage imageNamed:@"SuperIcon"];
}
return self;
}
私はUITabBarButtonをタッチすると、うまくいけば私の見解の変更をアニメーション化するコードのこのpeiceを宣言する可能性がどこでwounderingています前に....
[UIView transitionWithView:containerView
duration:0.2
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [fromView removeFromSuperview]; [containerView addSubview:toView];
completion:NULL];
私はボートを完全に逃してしまったのですか?
viewcontroller(それぞれtabbarcontrollerで起動します)のviewWillAppearメソッドに上記のコードを追加すると、containerViewがself.viewに置き換えられます。[super viewWillAppear:animated]は必要ありません。 – booleanBoy
私はこれを試して、私はエラーを私に与えていた.. containnerViewについて..これについてさらに調査する必要があります。 –
ビューが変更されたときにアニメーションを発生させたいので、viewWillDisappearメソッドで試してください。 – booleanBoy