24

UITabbarViewController を実装するビューコントローラーがあり、タブバーを非表示にして自分でオーバーライドしたいのですが、

self.tabBar.hidden = YES;

タブバーは消えましたが、ビューの下部に空白の領域 (青い領域) があります。空白の領域が必要ないのですが、どうすれば修正できますか? ありがとうございました。

編集:青い領域は次のとおりです。

self.view.backgroundColor = [UIColor blueColor];
4

4 に答える 4

66

アプリケーションでもまったく同じことを行いました。デフォルトの TabBar を非表示にするhidesBottomBarWhenPushedには、親ビュー コントローラー (またはアプリ内のすべてのビュー コントローラー) でメソッドをオーバーライドするだけです。

#pragma mark - Overriden UIViewController methods
- (BOOL)hidesBottomBarWhenPushed {
    return YES;
}

編集: この値は、ストーリーボードからも設定できます:

ここに画像の説明を入力

于 2013-03-08T15:07:21.090 に答える
1

UIViewControllerそして、これはSwift でオーバーライド ( ) を行う方法です。

override var hidesBottomBarWhenPushed: Bool {
    get { return true }
    set { super.hidesBottomBarWhenPushed = newValue }
}
于 2015-08-28T10:20:41.197 に答える
1

UITabbarViewControllerおそらくあなたのスーパービューとすべての「内部」ビューの高さ = であるため、これを修正する簡単な方法はないと思いますscreenHeight - tabBarHeight - navBarHeight

内部ビュー コントローラーのサイズを手動で変更することもできますが、Apple の AppStore 送信プロセスに問題がある可能性があります。これは、一般的な iOS ユーザー エクスペリエンスに違反していると思われるからです。

于 2013-03-08T14:27:59.007 に答える