XcodeでUITabbarを利用して画面遷移を行いたいと思っています。その際にTabbarのアイコンを自前の画像に設定したいと思って調べてコードを書いてみました。しかし、下記に示したところで「fatal error: unexpectedly found nil while unwrapping an Optional value」というエラーが出ます。色々調べてみたのですが解決方法がわからず質問します。答えていただけるとありがたいです。
コードを貼ります。
import
1import UIKit 2 3class MainTabBarController: UITabBarController { 4 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 } 9 override func viewWillAppear(_ animated: Bool) { 10 super.viewWillAppear(animated) 11 12self.setTabBarItem(index: 0, titile: "リスト", image: UIImage(named: "list-off")!, selectedImage: UIImage(named: "list-on")!, offColor: UIColor.blue, onColor: UIColor.red) 13self.setTabBarItem(index: 1, titile: "追加", image: UIImage(named: "group-off")!, selectedImage: UIImage(named: "group-on")!, offColor: UIColor.gray, onColor: UIColor.black) 14 15UITabBarItem.appearance().setTitleTextAttributes([.font : UIFont.systemFont(ofSize: 11)], for: .normal) 16UITabBarItem.appearance().setTitleTextAttributes([.font : UIFont.systemFont(ofSize: 11)], for: .selected) 17 } 18 19 func setTabBarItem(index: Int, titile: String, image: UIImage, selectedImage: UIImage, offColor: UIColor, onColor: UIColor) -> Void { 20 let tabBarItem = self.tabBarController?.tabBar.items![index] 21ここからエラーが出ます!!!tabBarItem!.title = titile 22 tabBarItem!.image = image.withRenderingMode(.alwaysOriginal) 23 tabBarItem!.selectedImage = selectedImage.withRenderingMode(.alwaysOriginal) 24 tabBarItem!.setTitleTextAttributes([ .foregroundColor : offColor], for: .normal) 25 tabBarItem!.setTitleTextAttributes([ .foregroundColor : onColor], for: .selected) 26 } 27 28} 29コード
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。