Two-stage rotation animation is deprecated. This application should use the smoother single-stage an

问题出在rootViewController同时包含UITabBarController和UINavigationController。

几经尝试,最后发现,在设置为window.rootViewController之前,先指定tabBarController.selectedIndex = 0,问题解决。

可以得出,出现上述错误,是因为XCode不知道你需要push哪个子viewController,在加载navigationController的时候,不知道要载入哪一个controller,于是无脑的将tabBarController的viewControllers都动画载入了。

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

{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.backgroundColor = [UIColor whiteColor];

    

    UIStoryboard *pStoryBoard = [UIStoryboard storyboardWithName:@"FirstStoryBoard" bundle:nil];

    UINavigationController *pNavigationController = [pStoryBoard instantiateInitialViewController];

    UITabBarController *pTabBarController = (UITabBarController *)pNavigationController.visibleViewController;

    pTabBarController.selectedIndex = 0; /// 就是这句话

    [UIApplication sharedApplication].delegate.window.rootViewController = pNavigationController; /// 这句话在其他VC也可以用

    [self.window makeKeyAndVisible];

    return YES;

}


posted @ 2015-02-02 12:52  問天  阅读(103)  评论(0编辑  收藏  举报