8

このコードは、iOS 7 リリースまでうまく機能していました。私は をUIViewController、 をhidesBottomBarWhenPushedとしてYES、を の として割り当ててrootViewControllerUINavigationControllerます。しかし、とにかく TabBar が表示されています。関連するコードは次のとおりです。

Login *lv = [[Login alloc] init];
lv.HowToUseShows = showHowToUse;
lv.hidesBottomBarWhenPushed = YES;

UINavigationController *BokShelfNav = [[UINavigationController alloc] initWithRootViewController:lv];

//... 

UITabBarController *tbController = [[UITabBarController alloc] init];
tbController.viewControllers = @[BokShelfNav,...];

同様の問題を抱えている人はいますか?

4

3 に答える 3

25

メソッドが呼び出され、プロパティが設定される順序が、タブ バーが表示されるかどうかに影響することがわかりました。

self.hidesBottomBarWhenPushed = YES;ビュー コントローラのviewDidLoadメソッドを挿入すると、タブ バーを押しても表示されます。メソッドに移動すると、initiOS 6 で使用されていたタブ バーが非表示になります。

于 2014-02-06T12:47:50.117 に答える
2

私が見つけた唯一の回避策は、tabBarController を別のタブ ( [tbController setSelectedIndex:1];) で開始しviewWillAppear:、そのタブのメソッドで ViewController を実行することです。[tbController setSelectedIndex:0];

于 2013-09-30T06:33:47.227 に答える
1

push ステートメントの後に setSelectedIndex を設定しましたが、うまくいきました。

//created tabbar controller object

if(index==0)
    [tabbarcontroller setSelectedIndex:1];

[self.navigationcontroller pushViewcontroller:tabbarcontroller anmated:YES];
[tabbarcontroller setSelectedIndex:index];

唯一の問題は、コントローラを 0 番目のインデックスで表示している場合です。この場合、最初に mt tabbarcontroller のインデックスを 1 (0 とは異なる) に設定しました。そしてその働き。

于 2013-10-03T04:51:10.087 に答える