Cách tiếp cận Swift 4
Tôi đã có thể thực hiện thủ thuật bằng cách triển khai một hàm sử dụng TabBarItem và thực hiện một số định dạng cho nó.
Di chuyển hình ảnh xuống một chút để làm cho nó được căn giữa hơn và cũng ẩn văn bản của Tab Bar. Hoạt động tốt hơn là chỉ đặt tiêu đề của nó thành một chuỗi trống, vì khi bạn có NavigationBar, TabBar sẽ lấy lại tiêu đề của viewController khi được chọn
func formatTabBarItem(tabBarItem: UITabBarItem){
tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0)
tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor:UIColor.clear], for: .selected)
tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor:UIColor.clear], for: .normal)
}
Cú pháp mới nhất
extension UITabBarItem {
func setImageOnly(){
imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0)
setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.clear], for: .selected)
setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.clear], for: .normal)
}
}
Và chỉ cần sử dụng nó trong tabBar của bạn như:
tabBarItem.setImageOnly()