override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.title = "Item #1"//设置当前视图控制器(FirstSubViewController.swift)在选项卡视图控制器中的标题
self.tabBarItem.image = UIImage(named: "tab1")//设置当前视图控制器的选项卡图标
self.view.backgroundColor = UIColor.brown//设置当前视图控制器的背景色
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.title = "Item #2"//设置当前视图控制器(FirstSubViewController.swift)在选项卡视图控制器中的标题
self.tabBarItem.image = UIImage(named: "tab2")//设置当前视图控制器的选项卡图标
self.view.backgroundColor = UIColor.purple//设置当前视图控制器的背景色
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let viewController1 = FirstSubViewController()//实例化第一个视图控制器对象
let viewController2 = SecondSubViewController()//实例化第二个视图控制器对象
let tabViewController = UITabBarController()//初始化一个选项卡控制器对象
tabViewController.viewControllers = [viewController1, viewController2]//将两个视图控制器,以数组的方法,指定给选项卡控制器对象
tabViewController.view.backgroundColor = UIColor.white//设置选项卡控制器对象根视图的背景色为白色
self.window?.rootViewController = tabViewController//将选项卡控制器对象,作为当前窗口的根视图控制器
return true
}
但是运行时图标没正确显示:
原因还没找到,一开始以为因为不是png的原因,换成png也无法显示:
后续找到原因再更新。
如果你知道的话,欢迎指点一下。
昨天图标无法显示的解决方法:
在设置图标后面增加?.withRenderingMode(.alwaysOriginal),例如:
self.tabBarItem.image = UIImage(named: "tab2")?.withRenderingMode(.alwaysOriginal)
这样运行效果如下:
仍然有个问题,刚运行时,右边的图标不显示,需要点击右边图标的位置后才显示:
后续解决的话再更新
昨天遇到右边图片不显示的问题可以用以下方法解决: