Uiviewcontroller 如何查找当前加载的viewcontroller?
我有一个带有2个Tabbaritem的tabBarController应用程序。 每个视图控制器都包含tableView。Uiviewcontroller 如何查找当前加载的viewcontroller?,uiviewcontroller,uitabbarcontroller,detailview,Uiviewcontroller,Uitabbarcontroller,Detailview,我有一个带有2个Tabbaritem的tabBarController应用程序。 每个视图控制器都包含tableView。 在didSelectRowAtIndexPath上,我正在加载带有以下代码行的detailview: detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:[NSBundle mainBundle]]; detailV
在didSelectRowAtIndexPath上,我正在加载带有以下代码行的detailview:
detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:[NSBundle mainBundle]];
detailViewController.selectedDetail = [selectedDetail valueForKey:@"cardText"];
detailViewController.selectedCardTitle2 = [selectedCardTitle valueForKey:@"cardTitle"];
detailViewController.selectedRow2 = [self.tableViewInbox indexPathForSelectedRow];
detailViewController.detailCardsArray = allCards;
detailViewController.detailAllFetchedCards = allFetchedCards;
detailViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[inboxViewController presentModalViewController:detailViewController animated:YES];
问题是,当加载detailView(实际显示的viewController)并切换到另一个选项卡项时,detailView不会关闭。这意味着,如果调用didSelectRowAtIndexPath,我将无法再次加载detailView
在我的AppDelegate中,我有这个方法
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
在此方法中,我将检查detailView是否为实际显示的viewController。如果是,并且tabBarItem发生更改,则关闭DetailView 现在我的问题是:如何检查detailView是否已加载(当前显示的视图)?告诉我们detailView成为显示视图的子视图。显示视图控制器将更新其
modalViewController
属性以指向显示视图。此外,模态视图的parentViewController
也将更新为指向当前视图
因此,您可以检查这些属性,以查看是否显示模式视图。告诉我们detailView将成为显示视图的子视图。显示视图控制器将更新其modalViewController
属性以指向显示视图。此外,模态视图的parentViewController
也将更新为指向当前视图
因此,您可以检查这些属性以查看是否显示模态视图