-2

私のアプリには、選択可能な#hashtagsがあります。

TabBar、MainVC、ProfileVC、TagVCには3つのタブしかありません。TagDetailVCは通常、TagVCを介してアクセスされます。

ユーザーがタグを選択すると、TagDetailViewControllerに移動します。

編集ストーリーボードにtabbarControllerを接続しました。

今私はこれを持っています:

TagDetailViewController *dest = [[TagDetailViewController alloc] init];
UINavigationController *nav = [self.tabBarController.viewControllers objectAtIndex:2];
[nav pushViewController:dest animated:YES];

しかし、私が今見ているのはTagVCだけです。TagDetailVCのviewDidLoadにログステートメントを配置しましたが、表示されませんでした。

記録のために、これは私のストーリーボードがどのように構成されているかです:

TabBarController -> NavigationVC -> MainVC ... 
                 -> NavigationVC -> ProfileVC ...  
                 -> NavigationVC -> TagVC -> TagDetailVC

tabBarでTagVCを選択してから、TagDetailVCをTagVCのnavigationControllerにプッシュすることに興味があります。ユーザーがタグを押したときに期待する動作は次のとおりです。1。TagVCでタブが選択されています。2。TagDetailVCがTagVCのNavigationVCにプッシュされます。

私は何が間違っているのですか?

4

3 に答える 3

1

以下のメソッドを使用できますUITabbarController

  [tabBarController setSelectedIndex:2];

私の理解によると、これは次のようになります。NavigationVC -> TagVC

を使用NSNotificationして、View Controller を にプッシュしますTagDetailVC

これがあなたの要件を達成するのに役立つことを願っています.

于 2013-03-13T08:53:50.550 に答える
0

どういうわけかこれは機能しています。

self.tabBarController.selectedIndex = TAB_INDEX_TAGS;
UINavigationController *nav = [self.tabBarController.viewControllers objectAtIndex:2];
[nav pushViewController:dest animated:YES];
于 2013-03-13T23:13:45.167 に答える
0

私は次のようなことを試みます(疑似コード):

on tagTapped
    tagDetailViewController = (alloc, config TagDetailVC)
    (tab controller).viewControllers[2].viewControllers = @[ new TagVC, tagDetailViewController ] ;
    (tab controller).selectedIndex = 2
于 2013-03-13T20:02:17.477 に答える