簡體   English   中英

UINavigationViewController setViewControllers設置不正確

[英]UINavigationViewController setViewControllers not setting correctly

我遇到一個問題,即調用setViewControllers不會將我的視圖控制器數組設置為導航視圖控制器。 正在執行此操作,所以我不確定這是否是UI問題(但我嘗試通過在主隊列中設置視圖控制器來解決此問題)。

[self thisIsABlock:^(){
        UIViewController3 *viewController3 = [storyboard instantiateViewControllerWithIdentifier:@"HeyHey"];
        // viewController3 is not nil

        NSMutableArray *array1 = [self.navigationController.viewControllers mutableCopy];
        // array1 contains [viewController1, viewController2]

        [array1 addObject:viewController3];
        [self.navigationController setViewControllers:array1 animated:NO];
        // Now array1 contains [viewController1, viewController2, viewController3] 

        NSMutableArray *array2 = [self.navigationController.viewControllers mutableCopy];
        // array2 only contains [viewController1, viewController2]
}];

此代碼塊是我在代碼庫中所做的事情的抽象。 我可能會丟失一些導致此問題的關鍵代碼,但我希望有人以前遇到過此問題,並且知道問題出在哪里。 謝謝!

//編輯1:我在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions處調用此- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

當我從后台打開應用程序到前台時,我的代碼有效。

上面的代碼是正確的,但是您可以提供這樣的有效數據,

YourViewController *viewController3 = [self.storyboard instantiateViewControllerWithIdentifier:@"YourStoryBoardViewControllerIdentifer"];

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM