web-dev-qa-db-ja.com

ストーリーボード参照でタブバーアイコンとタイトルが表示されない

ストーリーボード参照へのセグエ付きの次のストーリーボードがあります。

enter image description here

問題は、アプリを実行したときに、アイコンやタイトルが表示されないことです。

enter image description here

これらはアイテム設定です:

enter image description here

何が欠けていますか?

16
MXV

タブを適切に表示する方法は次のとおりです。

  1. 同じストーリーボードのタブに埋め込まれる最初のUIViewControllerをUITabViewControllerとして配置します。 enter image description here
  2. Ctrl +タブバーコントローラーからコンテンツビューコントローラーにドラッグして、通常どおりに接続します。これにより、UITabBarItemがコンテンツビューコントローラーの下部に自動的に追加されます。 enter image description here
  3. コンテンツビューコントローラーを選択します。
  4. [エディタ]メニューをクリックし、[ストーリーボードにリファクタリング...]を選択します enter image description here

UITabBarControllerタブは新しいストーリーボード参照を指すようになります... enter image description here ...そしてコンテンツビューコントローラーは、タブバーの関係からUITabBarItemを保持します。これで、アプリに正常に表示されるようになります。 enter image description here

17
Drew C

参照しているストーリーボードの初期ビューコントローラーでタブバー項目の画像/タイトルを変更できます。最初のView Controllerに「タブバーアイテム」を追加し、それに応じてそのプロパティ(タイトル/画像)を変更するだけです。

  1. 参照されるストーリーボードのルートビューコントローラーのアウトラインビュー

document outline of referred to storyboard

  1. ビューコントローラーの変更されたタブバーアイテム

initial view controller with modified tab bar item

注:変更はメインストーリーボードのタブバーには反映されません。参照されるストーリーボードと実行時にのみ表示されます。

15
Dries

問題は、ターゲットのビューコントローラーで、ビュー階層にUITabBarItemがないことです。 TabBarItemはストーリーボード参照に関連していますが、ビューコントローラーに関連している必要があります。

Xcodeの「バグ」のように見えます...

これを解決するには、次のようにします。

  • UITabBarControllerからStoryboard参照へのセグエを作成するだけです。
  • ストーリーボードの参照でタブバー項目を構成できます。それらは、ストーリーボードのタブバーにタブを表示すること以外に何もしません。これは、開発目的には最適です。

アプリを実行すると、タブがなくなっていることがわかります。実行中のアプリにも表示するタブを取得するには、次の操作を行います。

  • ストーリーボード参照が参照しているビューコントローラーに移動します
  • オブジェクトバーからビューコントローラーにドラッグして、このビューコントローラーにタブバー項目を追加します。
  • ビューコントローラーにタブが1つあるタブバーが表示されます
  • 正しいタイトルとアイコンを表示するようにタブバー項目を構成します

アプリを実行すると、タブが表示されます。

In interface builder, find the Tab Bar item in the Object Library

Drag the Tab Bar item into your the destination view controller by following the storyboard reference

14
Bocaxica

別のタブバーを追加してから、タブバーアイテムを追加して選択し、画像を表示しましたが、上記のどれも私のケースでは機能しないようでした。 Other VC tabs were showing tabBar icons properly but one that i refactored was missing its icon

次に、VCと比較しましたが、TabBarアイコンで適切に機能していました。 enter image description here

後で、ナビゲーション項目とタブバー項目が一緒になっていないことがわかりました。

The Tab bar item was inside with Navigation Bar.... i dragged the tabBar item to HomeVC and placed with NavigationBar item

今その働き:) :)

enter image description here

5
Parajuli Roman

数日間この問題に取り組んだ後、私はこの解決策を見つけました。ストーリーボードのリンクをダブルクリックすると、参照されているストーリーボードが開きます。シーンナビゲーターでは、カスタムのタイトルとアイコンでバーアイテムを編集できます。 xCode 9で動作します。

ストーリーボード

シーンナビゲーター

3
QuattroDog

私はこれとまったく同じ問題を抱えていて、上記の答えはどちらも私の場合にはうまくいきませんでした。添付の画像に示すように、ストーリーボードの参照内のimageバー項目セクションにタブバー画像を設定することで解決しました:


enter image description here

1

ストーリーボードで以下を作成し、各UINavigationControllerのクラスを作成し、各UINavigationControllerクラスで次のコードを作成しました

override func viewDidLoad() {
        super.viewDidLoad()
        let someController = StoryboardManager.surveyStoryboard.instantiateViewControllerWithIdentifier("SomeController") as! SomeController
        viewControllers = [someController]
        // Do any additional setup after loading the view.
    }

enter image description here

0