From 8fbdb3d8493e7fc8f50f09581e0d89f60473ef27 Mon Sep 17 00:00:00 2001 From: Adrian Gronau Date: Wed, 18 Feb 2026 16:16:42 +0100 Subject: [PATCH] Allow non-sf-symbol icons (through fallback) --- ios/Classes/NativeTabBar.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ios/Classes/NativeTabBar.swift b/ios/Classes/NativeTabBar.swift index e4f3899..4eb667f 100644 --- a/ios/Classes/NativeTabBar.swift +++ b/ios/Classes/NativeTabBar.swift @@ -173,7 +173,7 @@ class LiquidGlassTabBarController: UITabBarController, UITabBarControllerDelegat // Find the action button (Tag 99) if let actionVC = vcs.first(where: { $0.tabBarItem.tag == 99 }) { - actionVC.tabBarItem.image = UIImage(systemName: config.actionButtonSymbol) + actionVC.tabBarItem.image = resolveSymbol(config.actionButtonSymbol) } } @@ -191,7 +191,7 @@ class LiquidGlassTabBarController: UITabBarController, UITabBarControllerDelegat dummyVC.tabBarItem = UITabBarItem( title: label, - image: UIImage(systemName: symbolName), + image: resolveSymbol(symbolName), tag: i ) controllers.append(dummyVC) @@ -203,7 +203,7 @@ class LiquidGlassTabBarController: UITabBarController, UITabBarControllerDelegat actionVC.view.backgroundColor = .clear let item = UITabBarItem(tabBarSystemItem: .search, tag: 99) - item.image = UIImage(systemName: config.actionButtonSymbol) + item.image = resolveSymbol(config.actionButtonSymbol) actionVC.tabBarItem = item controllers.append(actionVC) @@ -228,6 +228,10 @@ class LiquidGlassTabBarController: UITabBarController, UITabBarControllerDelegat } } } + + private func resolveSymbol(_ name: String) -> UIImage? { + return UIImage(systemName: name) ?? UIImage(named: name) + } // MARK: - Delegate func tabBarController(