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

Posted

技术标签:

【中文标题】标签栏自定义按钮图像不显示【英文标题】:tabbar custom button image doesn't show up 【发布时间】:2021-12-16 01:08:54 【问题描述】:

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

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

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”,所以我不确定为什么不显示按钮。不太确定,但我担心的一件事是我没有为这个自定义图标设置大小。谁能告诉我如何显示标签栏项目的按钮图像?

【问题讨论】:

转到情节提要选择 tabBarItem 并在此处更改图像 你在哪里调用 setUpTabbarItems 【参考方案1】:

在您的 CustomTabBarController viewDidload 中:

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

【讨论】:

【参考方案2】:

转到情节提要-> 选择 V​​C 上的 tabBarItem(蓝色选定区域)

【讨论】:

以上是关于标签栏自定义按钮图像不显示的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11导航栏自定义后退按钮问题

ecshop按自定义导航栏上面的标签最下面的一排文章标签不居中 偏左

uni-app APP端隐藏导航栏自定义按钮

如何在ios中更改标签栏项目的背景图像?

iPad导航栏自定义高度

自定义“更多”标签栏