質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2781閲覧

タブバーを非表示にした時に下のViewに余白ができてしまう

退会済みユーザー

退会済みユーザー

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/09/04 11:27

編集2017/09/05 06:06

iOSアプリの開発をしています。

タブバーを使った画面を作成しているのですが、特定の画面では「hidesBottomBarWhenPushed」の値を設定することで、タブバーを非表示にしています。

問題点としては、hidesBottomBarWhenPushedを設定したviewControllerに遷移(push)したときに、下にタブバーの分だけ分だけ余白ができてしまい、少し時間を置いてその余白が消えるという挙動が起きてしまいます。

(※下の画像は当該ViewControllerのstoryboardですが、下のメニュー部分が画面下に隣接せず、時間を置いてガタッと下に降りるような挙動になります)

もちろんAutoLayoutで下の余白は0に設定しています。

このような場合、どうすれば余白を削除することができるのでしょうか。
ご回答いただけると幸いです。

質問への追依頼への回答

  • hidesBottomBarWhenPushedの呼び出しについて

当初「hidesBottomBarWhenPushedを呼び出す」と表記していましたが、正しくは「hidesBottomBarWhenPushedを設定したViewControllerに遷移したとき」でした。
適切な表現ではなく申し訳ございません。

  • 下の余白の設定について

ViewController直下のViewの下端に設定しています

イメージ説明

  • ページ構成について

各ViewControllerごとにstoryboardを作成するようにしています。
TabBarControllerを起点に、遷移先(push)のViewControllerは別のstoryboardで管理しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/09/05 00:12

どのタイミングでhidesBottomBarWhenPushedを設定していますか?下の余白は何に対して0にしていますか?
退会済みユーザー

退会済みユーザー

2017/09/05 05:05 編集

追記依頼に関して、質問内容の追記を行いました。
fuzzball

2017/09/05 05:10

「直下のView」の何に対して0にしているのでしょうか?制約を詳細に書いて下さい。「hidesBottomBarWhenPushedを呼び出した時に」というのは「遷移した時」という意味でしょうか?ナビゲーションコントローラは使用していますか?
退会済みユーザー

退会済みユーザー

2017/09/05 05:18

「hidesBottomBarWhenPushedを呼び出した時に」という表現ですが、正しくは「hidesBottomBarWhenPushedを設定したViewControllerに遷移したとき」でした。こちら追記の方加えさせて頂きました。何度もお手数をおかけして申し訳ございません。
fuzzball

2017/09/05 05:31

TabBarControllerを使っているのではなく、ViewController+TabBarなのでしょうか?
fuzzball

2017/09/05 05:57

「遷移」というのはタブの切替のことでしょうか?
退会済みユーザー

退会済みユーザー

2017/09/05 06:06

遷移はpushViewControllerのことです。
fuzzball

2017/09/05 06:18 編集

ナビゲーションコントローラを使用していないのであれば hidesBottomBarWhenPushed しなくてもタブバーは隠れませんか?
退会済みユーザー

退会済みユーザー

2017/09/05 06:19

すみません。ナビゲーションコントローラーは使用しております。
guest

回答1

0

ベストアンサー

TabBarのbottomの制約がBottom Layout Guideのtopに対して付いていると思われますので、Superview(ViewController直下のView)のbottomに対して付けて下さい。

投稿2017/09/05 06:36

編集2017/09/05 06:38
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/05 06:41

ありがとうございます!完全に盲点でした。 無事に解決したしました。何度も追記依頼いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問