【问题标题】:How to programmatically change Tab Bar Item image and font when selected?选择时如何以编程方式更改选项卡栏项目图像和字体?
【发布时间】:2021-07-20 13:23:04
【问题描述】:

我想更改标签栏项目的粗细和选中时的字体。我假设这可以通过在选择相关选项卡时更改选项卡栏项目图像和文本来完成。除了调整突出显示的标签栏项目的色调之外,即使大多数应用程序(包括 Instagram)都这样做,我似乎也找不到任何在线自定义所选标签栏项目的信息。这是怎么做到的?

我当前的 5 个标签栏是在 UITabBarController 类中创建的,并遵循几乎相同的公式,如下所示:

let homeController = HomeViewController()
        homeController.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "home"), tag: 1)
        let nav1 = UINavigationController(rootViewController: homeController)

viewControllers = [nav1, nav2, nav3, nav4, nav5]

【问题讨论】:

  • 您需要创建自己的标签视图控制器。

标签: swift xcode uitabbar


【解决方案1】:

以编程方式设置选中的UITabbarItem的图片:

let tabBarItem = UITabBarItem(title: "title", image: UIImage(named: "defaultImage"), selectedImage: UIImage(named: "selectedImage"))

但您不能轻易设置选定的UITabbarItem 的字体。您需要创建自己的UITabBarController,如this SO thread 所示。

【讨论】:

    【解决方案2】:

    为了更改图像,我只需在关联的视图控制器类中输入此代码(在我的情况下,它们是个人 swift 文件)

    so in viewDidLoad of class HomeViewController: UIViewController {

    self.tabBarItem.selectedImage = UIImage(named: "yourImageName")
    

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2015-10-31
      • 2023-03-21
      相关资源
      最近更新 更多