[英]How to get UIStoryBoard segued UITabbarController reference
我有一個故事板,從UINavigationController
開始,然后是UIViewController
,從這個UIViewController
到UITabbarController
只是一個UITabbarController
。 我想要這個UITabbarController
參考,但是從另一個視圖控制器中,如何獲得它呢?
如果您的segue從UIViewController
轉到UITabbarController
則segue.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.