标签栏自定义按钮图像不显示
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】:转到情节提要-> 选择 VC 上的 tabBarItem(蓝色选定区域)
【讨论】:
以上是关于标签栏自定义按钮图像不显示的主要内容,如果未能解决你的问题,请参考以下文章