标签栏自定义按钮图像不显示

tabbar custom button image doesn't show up

我正在尝试为我的 Swift 项目中的选项卡栏项显示自定义按钮。 我在 Xcode 项目的资产文件夹中添加了一个名为 btn_new 的 png 文件,并尝试在自定义标签栏控制器 class 中显示自定义按钮。但是我在我的模拟器中只能看到一个默认蓝色的圆形按钮,上面没有自定义图像。

这是自定义标签栏控制器 class。

import UIKit

class CustomTabBarController: UITabBarController {

    var createEventViewController: CreateEventViewController!

    override func viewDidLoad() {
        super.viewDidLoad()
        createEventViewController = CreateEventViewController()
        self.delegate = self
        self.tabBar.barTintColor = UIColor.customGreen()
    }
    
    func createListNC() -> UINavigationController {
        let listVC = listViewController()
        listVC.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "btn_new"), tag: 0)
        return UINavigationController(rootViewController: listVC)
    }
    
    func setUpTabbarItems() -> [UIViewController]{
        return [createListNC()]
    }
    
}


extension CustomTabBarController: UITabBarControllerDelegate {
    func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
        if viewController == tabBarController.viewControllers?[0] {
            let vc = CreateEventViewController()
            let nc = UINavigationController(rootViewController: vc)
            nc.modalPresentationStyle = .popover
            self.present(nc, animated: true, completion: nil)
            return false
        }
        return true
    }
} 

我仔细检查了名称是否准确地称为“btn_new”,所以我不确定为什么没有显示该按钮。不太确定,但我担心的一件事是我没有为这个自定义图标设置大小。谁能告诉我如何显示标签栏项目的按钮图像?

Goto Storyboard-> Select tabBarItem on VC(蓝色选定区域)

在您的 CustomTabBarController viewDidload 中:

let buttonImage: UIImage! = UIImage(named: 
"btn_new")!.withRenderingMode(.alwaysOriginal)
    (tabBar.items![0] ).selectedImage = buttonImage