簡體   English   中英

如何獲取UIStoryBoard segued UITabbarController參考

[英]How to get UIStoryBoard segued UITabbarController reference

我有一個故事板,從UINavigationController開始,然后是UIViewController ,從這個UIViewControllerUITabbarController只是一個UITabbarController 我想要這個UITabbarController參考,但是從另一個視圖控制器中,如何獲得它呢?

如果您的segue從UIViewController轉到UITabbarControllersegue.destinationViewController實際上是您的UITabbarController ,因此您可以像在UIViewController類中那樣訪問它(記住在情節UITabbarController中添加segue標識符)

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    if ([segue.identifier isEqualToString:@"YOURSEGUEIDENTIFIER"]) { //<-- YOURSEGUEIDENTIFIER needs to match identifier you set up in storyboard
        UITabbarController *tvc = (UITabbarController*)segue.destinationViewController;
    } 
}

//我剛剛將代碼從注釋區域移出

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; // <-- make sure Main match name of your storyboard
UITabbarController *tvc = [storyboard  instantiateViewControllerWithIdentifier:@"YourIdentifierFromStoryboard"]; 
[tvc setModalPresentationStyle:UIModalPresentationFullScreen]; 

只要記得在情節提要中為表欄控制器設置標識符即可。

您可以使用情節提要ID來實現。 將一個情節提要ID設置為TabBarController。

這是您可以在任意位置調用的代碼。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"nameOfStoryboard" bundle:nil];


TabBarController * destViewController = [storyboard instantiateViewControllerWithIdentifier:@"TheIDOfTabBarController"];

[self.navigationController pushViewController:destViewController animated:YES];

暫無
暫無

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

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