Możesz to zrobić, dodając niestandardowy obraz, który zostanie utworzony w kodzie, do selectionIndicatorImage
na twoim obiekcie UITabBar
. Na przykład można utworzyć extension
dla UIImage
klasa tak:
extension UIImage {
func createSelectionIndicator(color: UIColor, size: CGSize, lineWidth: CGFloat) -> UIImage {
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(CGRectMake(0, size.height - lineWidth, size.width, lineWidth))
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
i nazywają to w pierwszym załadowaniu ViewController
takiego:
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let tabBar = self.tabBarController!.tabBar
tabBar.selectionIndicatorImage = UIImage().createSelectionIndicator(UIColor.blueColor(), size: CGSizeMake(tabBar.frame.width/CGFloat(tabBar.items!.count), tabBar.frame.height), lineWidth: 2.0)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
W tym przypadku wynik będzie tak:
możesz użyć 'UIView' i ustawić wybrany kolor tła dla tego samego. – Nishant