質問: UITabBarControllerにてタブにカスタムアイコンを表示させたいのですが、 このタブのアイコンをカスタマイズさせる方法といえば、Apple規定のUITabBarControllerを元として設定した、画像を線画のように切り抜いた形で表示させるものだと思います。 また背景の画像をカスタムする、という方法も、Apple規定のUITabBarControllerを基盤として背景の画像を変えるものだけでした。 サイズも同様に、Storyboard内では変更できないみたいです。 UITabBarController自体(ないしはアイコン自体)のサイズをカスタマイズし、かつ自分で作成したカラーのついたImageのものに変更し、実装したいのですが、これはXcode内で実装できるようなものなのでしょうか?
回答: > > UITabBarControllerにてタブにカスタムアイコンを表示させたい > > > というアプローチは正しくありません。アプローチの相手は、View Controllerのほうです。 Storyboard上で、View Controllerのタブバーにあるアイコンをクリックすると、下図のAttributed Inspectorになります。 !画像の説明をここに入力 System Itemを「Custom」にし、Imageを任意の画像に指定します。画像は「線画」である必要はなく、一辺32ピクセル以下のビットマップ画像でも可です。 プログラムでTabbar ControllerにView Controllerを追加するとき、アイコンを指定するには、このようにします。(このサンプルコードは、任意のView Controllerクラスに記述するものとします。) ``` let thirdViewController = UIViewController() thirdViewController.view.backgroundColor = UIColor.yellowColor() // View Controllerのカスタマイズ thirdViewController.tabBarItem.image = UIImage(named: "third.png") // ファイル名は任意に。 var viewcontrollers = self.tabBarController?.viewControllers viewcontrollers?.append(thirdViewController) self.tabBarController?.setViewControllers(viewcontrollers!, animated: true) ``` このように、タブバーアイコンの設定の対象は、UITabBarControllerではなく、UIViewControllerであることが、おわかりになると思います。