eggswift / ESTabBarController

:octocat: ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie!
MIT License
5.17k stars 578 forks source link

图片有拉伸, 并且选中状态下的图片有一个不能显示,全部显示蓝色. #191

Closed xclidongbo closed 5 years ago

xclidongbo commented 5 years ago

let tabBarController = ESTabBarController() let v1 = NewsViewController() let v2 = VideosViewController() let v3 = ShortVideosViewController() let v4 = MyCenterViewController()

    v1.tabBarItem = ESTabBarItem.init(title: "新闻", image: UIImage(named: "zhuye-icon")?.withRenderingMode(.alwaysOriginal), selectedImage: UIImage(named: "xinwendianjishi")?.withRenderingMode(.alwaysOriginal))
    v2.tabBarItem = ESTabBarItem.init(title: "视频", image: UIImage(named: "shipin")?.withRenderingMode(.alwaysOriginal), selectedImage: UIImage(named: "shipindianjishi")?.withRenderingMode(.alwaysOriginal))
    v3.tabBarItem = ESTabBarItem.init(title: "小视频", image: UIImage(named: "xiaoshipin")?.withRenderingMode(.alwaysOriginal), selectedImage: UIImage(named: "shangdiandianjishi")?.withRenderingMode(.alwaysOriginal))
    v4.tabBarItem = ESTabBarItem.init(title: "我的", image: UIImage(named: "wode")?.withRenderingMode(.alwaysOriginal), selectedImage: UIImage(named: "wodedianjishi")?.withRenderingMode(.alwaysOriginal))

    tabBarController.viewControllers = [v1, v2, v3, v4]
    return tabBarController
eggswift commented 5 years ago

麻烦看一下demo

xclidongbo commented 5 years ago

已解决. 自定义一个ESTabBarItemContentView

class BasicTabBarItemContentView: ESTabBarItemContentView {
    override init(frame: CGRect) {
        super.init(frame: frame)
//        textColor = UIColor.init(white: 175.0 / 255.0, alpha: 1.0)
//        highlightTextColor = UIColor.init(red: 254/255.0, green: 73/255.0, blue: 42/255.0, alpha: 1.0)
//        iconColor = UIColor.init(white: 175.0 / 255.0, alpha: 1.0)
//        highlightIconColor = UIColor.init(red: 254/255.0, green: 73/255.0, blue: 42/255.0, alpha: 1.0)
        renderingMode = .alwaysOriginal;
//        itemContentMode = .alwaysOriginal;
        imageView.contentMode = .scaleAspectFit;
    }

    public required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}