【问题标题】:Three time ViewDidload method is calling三次 ViewDidload 方法正在调用
【发布时间】:2016-09-13 19:06:01
【问题描述】:

我正在使用两个故事板,一个是主板,另一个是仪表板。 成功响应后,我正在加载 LGSideMenu

问题是 DashboardViewController ViewDidLoad 调用了 3 次。

-(void)loadDashboardController{

    dispatch_async(dispatch_get_main_queue(), ^{
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Dashboard" bundle:nil];

        UINavigationController *navigationController = [storyboard instantiateViewControllerWithIdentifier:@"NavigationController"];
        DashboardViewController *mainViewController = [storyboard instantiateInitialViewController];
        mainViewController.rootViewController = navigationController;
        [mainViewController setupWithPresentationStyle:LGSideMenuPresentationStyleSlideAbove type:0];
        UIWindow *window = [UIApplication sharedApplication].delegate.window;
        window.rootViewController = mainViewController;
        [UIView transitionWithView:window
                          duration:0.3
                           options:UIViewAnimationOptionTransitionCrossDissolve
                        animations:nil
                        completion:nil];
    });
}

有人遇到过这种问题吗?

【问题讨论】:

    标签: ios uinavigationcontroller uistoryboard viewcontroller


    【解决方案1】:

    您应该只在应用程序的窗口上设置一次rootviewcontroller。就是这样。其他视图控制器应该被推到它上面,或者你应该设置为你的navigation controllerviewocontrollers。所以只设置,

      window.rootViewController = mainViewController;
    
         //or
    
      window.rootViewController = navigationcontroller;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多