繁体   English   中英

如何在 ios swift 中添加彩色图标?

[英]how to add colored icon in ios swift?

我正在尝试添加一个多色的图标,当我在标签栏中添加图标时,它显示为单色蓝色,图标的实际 colors 不可见?

我应该如何在标签栏中添加彩色图标?

在 x-code select 的资产文件夹中,您的图像和属性检查器中的Render As to "Original Image"而不是"Default"的值。

这是因为在选项卡栏中,所有图像都显示为渲染模式设置为template ,您可以在加载图像时覆盖此行为强制渲染模式:

let yourImage = UIImage(named: "your_image")?.withRenderingMode(.alwaysOriginal)

然后将您的图像用作标签栏图标。

最好在这样的代码中执行此操作:

var aViewController: UIViewController = UIViewController()

// 这个语句就是你需要的

var myTabBarItem: UITabBarItem = UITabBarItem(title: nil, image: UIImage(named: "YOUR_IMAGE_NAME")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), selectedImage: UIImage(named: "YOUR_IMAGE_NAME"))
aViewController.tabBarItem = myTabBarItem

不要在 storyboard 中这样做。 尝试这个:

extension UITabBarItem {

    convenience init(title: String, unselected: String, selected: String) {

        let selectedImage = UIImage(named: selected)?.withRenderingMode(.alwaysOriginal)
        let unselectedImage = UIImage(named: unselected)?.withRenderingMode(.alwaysOriginal)

        self.init(title: title, image: unselectedImage, selectedImage: selectedImage)
    }
}

然后在viewDidLoad中你的视图controller ...

tabBarItem = UITabBarItem(title: "My title",
                          unselected: "unselectedIconName",
                          selected: "selectedIconName")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM