2012-01-04 8 views
1

私は2 tabBarItemsとtabBarControllerアプリを持っています。 各viewControllerにはtableViewが含まれています。 didSelectRowAtIndexPathで
私はこのコードの行とdetailviewをロードしています:detailViewがロードされたとき現在ロードされているviewcontrollerを見つける方法は?

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]; 

問題がある(実際の図示のViewController)でiは他のtabBarItemに変わり、detailView はDISMISSしません。つまり、didSelectRowAtIndexPathが呼び出された場合、detailViewを再び読み込むことはできません。私AppDelegateで

私はこの方法で

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 

方法を持っているdetailViewが実際に示すのViewControllerである場合、私は、アップチェックします。
そして、それは、とtabBarItemが変化した場合、THEN DetailViewを解任。

今私の質問です:detailViewは(現在示さビュー)にロードされているかどうかをどのように私は、確認できますか?

答えて

1

documentationはdetailViewが提示ビューの子になっていることを教えてくれる。プレゼンテーション・ビュー・コントローラーには、表示されたビューを指すようにプロパティーが更新されたmodalViewControllerがあります。また、モーダルビューのparentViewControllerが提示ビューを指すように更新されます。

だから、あなたはモーダルビューを表示するかしないかどうかを確認するためにこれらのプロパティをチェックすることができます。

関連する問題