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

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

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

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

Swift

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

Q&A

0回答

515閲覧

複数のStoryboardを使用する際 カスタムtab barが表示されない

Kitsatsuki

総合スコア28

iOS

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

Swift

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

0グッド

0クリップ

投稿2020/04/22 11:35

膨張したStoryboardをリファクターしています。その際tabbarのアイコン(イメージ)が表示されなくなりました。
CustomTabBarControllerには

class CustomTabBarController: UITabBarController{ @IBOutlet weak var myTabBar: UITabBar? override func viewDidLoad() { super.viewDidLoad() setTabBarItems() } func setTabBarItems(){ guard let tabBar1 = self.tabBar.items?[0] else { return } let myTabBarItem1 = tabBar1 as UITabBarItem myTabBarItem1.image = UIImage(named: "1-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem1.selectedImage = UIImage(named: "1-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem1.title = "" guard let tabBar2 = self.tabBar.items?[1] else { return } let myTabBarItem2 = tabBar2 as UITabBarItem myTabBarItem2.image = UIImage(named: "2-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem2.selectedImage = UIImage(named: "2-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem2.title = "" guard let tabBar3 = self.tabBar.items?[2] else { return } let myTabBarItem3 = tabBar3 as UITabBarItem myTabBarItem3.image = UIImage(named: "3")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem3.selectedImage = UIImage(named: "3-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem3.title = "" guard let tabBar4 = self.tabBar.items?[3] else { return } let myTabBarItem4 = tabBar4 as UITabBarItem myTabBarItem4.image = UIImage(named: "4-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem4.selectedImage = UIImage(named: "4-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem4.title = "" guard let tabBar5 = self.tabBar.items?[4] else { return } let myTabBarItem5 = tabBar5 as UITabBarItem myTabBarItem5.image = UIImage(named: "5-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem5.selectedImage = UIImage(named: "5-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) myTabBarItem5.title = "" } }



と記載しています。こちらリファクター前は正常に表示されていました。
しかしstoryboardに細かく分けたあと画像が表示されなくなりました。

やったこと
①SettingsNavigationViewControllerを作成しSettings.storyboard内にあるNavigationControllerに紐付けました。

class SettingsNavigationViewController: UINavigationController { @IBOutlet var settingsTabBarItem: UITabBarItem! override func viewDidLoad() { super.viewDidLoad() setupNavBar() } func setupNavBar(){ settingsTabBarItem.image = UIImage(named: “5-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) settingsTabBarItem.selectedImage = UIImage(named: “5-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) settingsTabBarItem.title = "" } }

実際にtab barにアイコンは表示はされましたが、そのtab barを選択しないと表示されません。よって起動時は相変わらずtabbarにはなにも表示されていない状態です。

②Settings.storyboard内にあるNavigationControllerの Bar Itemに直接画像を指定。アイコンは表示されましたが今度はグレーアウトしている状態です。
細かい設定は以下の通りになっています。
イメージ説明

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問