Как добавить цветной значок в IOS Swift? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь добавить значок, который является многоцветным, и когда я добавил значок, как показано на панели вкладок, он показывает один синий цвет, фактические цвета значка не видны?

как добавить цветной значок в панель вкладок?

Ответы [ 4 ]

1 голос
/ 06 ноября 2019

Не делай этого в раскадровке. Попробуйте это:

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 в вашем контроллере вида ...

tabBarItem = UITabBarItem(title: "My title",
                          unselected: "unselectedIconName",
                          selected: "selectedIconName")
1 голос
/ 06 ноября 2019

В папке активов в x-code выберите ваше изображение, а в инспекторе атрибутов измените значение Render As на «Исходное изображение» вместо «По умолчанию» .

0 голосов
/ 06 ноября 2019

Лучше сделать это в коде, подобном следующему:

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
0 голосов
/ 06 ноября 2019

Это связано с тем, что в панели вкладок все изображения отображаются с режимом рендеринга, установленным на template, вы можете изменить это поведение, заставив режим рендеринга при загрузке изображения:

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

, а затем использовать свое изображение. как значок панели вкладок.

...