0

2つのUIControllerの間にトランジション効果を追加しようとしています。それらの間の切り替えは完全に機能していますが、素晴らしいトランジション効果を追加したいと思います。

これは私の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;   

}

このコードは、コントローラーとその正常な動作を切り替えます。

4

1 に答える 1

0

トランジションアニメーションを作成するには、タブバーコントローラーを表示する必要があります。この方法で試してください(私はこれをテストしていません):

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

コードを見ると、スプラッシュvcを提示したい場合があります。ロゴを表示するためだけに存在する必要がある場合は、タイマーアプローチで問題ありません。(ただし、performSelector:withObject:afterDelay:を検討することをお勧めします。これは、そのタイマーを隠すための少しきれいな方法です)。

アプリを実行する準備が整う前にスプラッシュVCで何らかの作業を行う必要がある場合(サインインなど、非同期で実行するのに十分な時間がかかる場合)、このアプローチを確認することをお勧めします)。

于 2012-12-12T01:04:52.510 に答える