0
私はタブバーを持つiOSアプリケーション(Swift 3)を作っています。私は自分の好みの方法でパーソナライズする方法を見つけられません。私は、各アイコンの間に行を追加したいと私はこのように、選択されたとき、それは赤になりたい:UITabBarパーソナライズ、カラー、セパレータライン
私はタブバーを持つiOSアプリケーション(Swift 3)を作っています。私は自分の好みの方法でパーソナライズする方法を見つけられません。私は、各アイコンの間に行を追加したいと私はこのように、選択されたとき、それは赤になりたい:UITabBarパーソナライズ、カラー、セパレータライン
カスタムUITabBarControllerから継承したクラス、そして、あなたのTabBarControllerのクラスとして使用します。主な手順は次のとおりです。
import UIKit
class MainTabBarController: UITabBarController,UITabBarControllerDelegate {
var firstBackgroundView:UIView!
//var secondBackgroundView:UIView!
//......
override func viewDidLoad() {
super.viewDidLoad()
//Lines:
let topline = CALayer()
topline.frame = CGRect(x: 0, y: 0, width: self.tabBar.frame.width, height: 2)
topline.backgroundColor = UIColor.gray.cgColor
self.tabBar.layer.addSublayer(topline)
let firstVerticalLine = CALayer()
firstVerticalLine.frame = CGRect(x: self.tabBar.frame.width/5, y: 0, width: 2, height: self.tabBar.frame.height)
firstVerticalLine.backgroundColor = UIColor.gray.cgColor
self.tabBar.layer.addSublayer(firstVerticalLine)
//Continue to add other lines to divide tab items...
//......
//Background views
firstBackgroundView = UIView(frame: CGRect(x: 0, y: 0, width: self.tabBar.frame.width/5, height: self.tabBar.frame.height))
firstBackgroundView.backgroundColor = UIColor.red
firstBackgroundView.isHidden = false //true for others.
self.tabBar.addSubview(firstBackgroundView)
self.tabBar.sendSubview(toBack: firstBackgroundView)
//Continue to add other background views for each tab item...
//......
self.delegate = self
}
public func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
if self.selectedIndex == 0 {
firstBackgroundView.isHidden = false
//othersBackgroundView.isHidden = true
}
else if self.selectedIndex == 1 {
//......
}
}
}