29

この問題は、iOS 5 または 6 を対象とするアプリをビルドし、iOS 7 で実行すると発生します。tabBarController の一部である navigationController にコントローラーがあり、次のようにします。

controller.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:testController animated:YES];

奇妙な縦位置アニメーションが発生します。代わりに、新しいコントローラー (下部のバーが非表示) がナビゲーション コントローラーを押したりポップしたりして、タブ バーを押したり元に戻したり、垂直方向の位置を変更したりしたくありません。

問題のビデオ: https://dzwonsemrish7.cloudfront.net/items/0K2z1J3U2H3w033G0k23/hidesBottomBarWhenPushed.mov

オープンレーダーレポート: http://www.openradar.me/14670329

4

6 に答える 6

0

これを試して:

[self.navigationController.navigationBar setHidden:NO];
于 2014-03-28T13:59:56.653 に答える
0

透明性を維持したい場合は、これをルートに追加しますUIViewController:

- (void)viewWillAppear:(BOOL)animated {
    [UIView animateWithDuration:0.35f animations:^{
        self.tabBarController.tabBar.alpha = 1.0f;
    }];
}

- (void)viewWillDisappear:(BOOL)animated {
    [UIView animateWithDuration:0.35f animations:^{
        self.tabBarController.tabBar.alpha = 0.0f;
    }];
}

このようにして、タブ バーの素敵なフェードイン/フェードアウト アニメーションが得られます。

于 2014-08-08T11:05:28.750 に答える
-1

これを試して

if( [self respondsToSelector:@selector(setEdgesForExtendedLayout:)] )
{
    self.edgesForExtendedLayout=UIRectEdgeNone;
}
于 2014-05-08T06:31:21.393 に答える
-1

ナビゲーション バーと tabBarController の両方で半透明プロパティを NO に設定するだけです。これで問題は解決します。

于 2014-07-30T10:12:01.137 に答える