标签栏自定义按钮图像不显示
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
我正在尝试为我的 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