One Logo Pool Ball
UIKit · IOS API REFERENCE

UITabBarController

class · iOS 2.0+ · SDK 27.1

@MainActor class UITabBarController

Members (40)

init · iOS 18.0+

init

TypeScript
static init(tabs: Array<UITab>): Promise<UITabBarController>
Swift declaration
init(tabs: [UITab])
method · iOS 27.0+

performBatchUpdates

TypeScript
performBatchUpdates(updates: (() => void)): Promise<void>
Swift declaration
func performBatchUpdates(_ updates: () -> Void)
method · iOS 26.0+

setBottomAccessory

TypeScript
setBottomAccessory(bottomAccessory: (UITabAccessory) | null, animated: boolean): Promise<void>
Swift declaration
func setBottomAccessory(_ bottomAccessory: UITabAccessory?, animated: Bool)
method · iOS 27.0+

setProminentTabIdentifier

TypeScript
setProminentTabIdentifier(identifier: (string) | null, animated: boolean): Promise<void>
Swift declaration
func setProminentTabIdentifier(_ identifier: String?, animated: Bool)
method · iOS 18.0+

setTabBarHidden

TypeScript
setTabBarHidden(hidden: boolean, animated: boolean): Promise<void>
Swift declaration
func setTabBarHidden(_ hidden: Bool, animated: Bool)
method · iOS 18.0+

setTabs

TypeScript
setTabs(tabs: Array<UITab>, animated: boolean): Promise<void>
Swift declaration
func setTabs(_ tabs: [UITab], animated: Bool)
method · iOS 2.0+

setViewControllers

TypeScript
setViewControllers(viewControllers: (Array<UIViewController>) | null, animated: boolean): Promise<void>
Swift declaration
func setViewControllers(_ viewControllers: [UIViewController]?, animated: Bool)
method · iOS 18.0+

tab

TypeScript
tab(identifier: string): Promise<(UITab) | null>
Swift declaration
func tab(forIdentifier identifier: String) -> UITab?
get · iOS 26.0+

bottomAccessory

TypeScript
get bottomAccessory(): Promise<(UITabAccessory) | null>
Swift declaration
var bottomAccessory: UITabAccessory? { get set }
set · iOS 26.0+

bottomAccessory

TypeScript
setBottomAccessory97690(value?: (UITabAccessory) | null): Promise<void>
Swift declaration
var bottomAccessory: UITabAccessory? { get set }
get · iOS 18.0+

compactTabIdentifiers

TypeScript
get compactTabIdentifiers(): Promise<(Array<string>) | null>
Swift declaration
var compactTabIdentifiers: [String]? { get set }
set · iOS 18.0+

compactTabIdentifiers

TypeScript
setCompactTabIdentifiers(value?: (Array<string>) | null): Promise<void>
Swift declaration
var compactTabIdentifiers: [String]? { get set }
get · iOS 26.0+

contentLayoutGuide

TypeScript
get contentLayoutGuide(): Promise<UILayoutGuide>
Swift declaration
var contentLayoutGuide: UILayoutGuide { get }
get · iOS 2.0+

customizableViewControllers

TypeScript
get customizableViewControllers(): Promise<(Array<UIViewController>) | null>
Swift declaration
var customizableViewControllers: [UIViewController]? { get set }
set · iOS 2.0+

customizableViewControllers

TypeScript
setCustomizableViewControllers(value?: (Array<UIViewController>) | null): Promise<void>
Swift declaration
var customizableViewControllers: [UIViewController]? { get set }
get · iOS 18.0+

customizationIdentifier

TypeScript
get customizationIdentifier(): Promise<(string) | null>
Swift declaration
var customizationIdentifier: String? { get set }
set · iOS 18.0+

customizationIdentifier

TypeScript
setCustomizationIdentifier(value?: (string) | null): Promise<void>
Swift declaration
var customizationIdentifier: String? { get set }
get · iOS 2.0+

delegate

TypeScript
get delegate(): Promise<(SDKHandle) | null>
Swift declaration
weak var delegate: (any UITabBarControllerDelegate)? { get set }
set · iOS 2.0+

delegate

TypeScript
setDelegate(value?: (Implements<UITabBarControllerDelegate> | SDKHandle) | null): Promise<void>
Swift declaration
weak var delegate: (any UITabBarControllerDelegate)? { get set }
get · iOS 18.0+

mode

TypeScript
get mode(): Promise<UITabBarController_Mode>
Swift declaration
var mode: UITabBarController.Mode { get set }
set · iOS 18.0+

mode

TypeScript
setMode(value: UITabBarController_Mode): Promise<void>
Swift declaration
var mode: UITabBarController.Mode { get set }
get · iOS 2.0+

moreNavigationController

TypeScript
get moreNavigationController(): Promise<UINavigationController>
Swift declaration
var moreNavigationController: UINavigationController { get }
get · iOS 27.0+

prominentTabIdentifier

TypeScript
get prominentTabIdentifier(): Promise<(string) | null>
Swift declaration
var prominentTabIdentifier: String? { get set }
set · iOS 27.0+

prominentTabIdentifier

TypeScript
setProminentTabIdentifier53901(value?: (string) | null): Promise<void>
Swift declaration
var prominentTabIdentifier: String? { get set }
get · iOS 2.0+

selectedIndex

TypeScript
get selectedIndex(): Promise<number>
Swift declaration
var selectedIndex: Int { get set }
set · iOS 2.0+

selectedIndex

TypeScript
setSelectedIndex(value: number): Promise<void>
Swift declaration
var selectedIndex: Int { get set }
get · iOS 18.0+

selectedTab

TypeScript
get selectedTab(): Promise<(UITab) | null>
Swift declaration
var selectedTab: UITab? { get set }
set · iOS 18.0+

selectedTab

TypeScript
setSelectedTab(value?: (UITab) | null): Promise<void>
Swift declaration
var selectedTab: UITab? { get set }
get · iOS 2.0+

selectedViewController

TypeScript
get selectedViewController(): Promise<(UIViewController) | null>
Swift declaration
unowned(unsafe) var selectedViewController: UIViewController? { get set }
set · iOS 2.0+

selectedViewController

TypeScript
setSelectedViewController(value?: (UIViewController) | null): Promise<void>
Swift declaration
unowned(unsafe) var selectedViewController: UIViewController? { get set }
get · iOS 18.0+

sidebar

TypeScript
get sidebar(): Promise<UITabBarController_Sidebar>
Swift declaration
var sidebar: UITabBarController.Sidebar { get }
get · iOS 3.0+

tabBar

TypeScript
get tabBar(): Promise<UITabBar>
Swift declaration
var tabBar: UITabBar { get }
get · iOS 18.0+

isTabBarHidden

TypeScript
get isTabBarHidden(): Promise<boolean>
Swift declaration
var isTabBarHidden: Bool { get set }
set · iOS 18.0+

isTabBarHidden

TypeScript
setIsTabBarHidden(value: boolean): Promise<void>
Swift declaration
var isTabBarHidden: Bool { get set }
get · iOS 26.0+

tabBarMinimizeBehavior

TypeScript
get tabBarMinimizeBehavior(): Promise<UITabBarController_MinimizeBehavior>
Swift declaration
var tabBarMinimizeBehavior: UITabBarController.MinimizeBehavior { get set }
set · iOS 26.0+

tabBarMinimizeBehavior

TypeScript
setTabBarMinimizeBehavior(value: UITabBarController_MinimizeBehavior): Promise<void>
Swift declaration
var tabBarMinimizeBehavior: UITabBarController.MinimizeBehavior { get set }
get · iOS 18.0+

tabs

TypeScript
get tabs(): Promise<Array<UITab>>
Swift declaration
var tabs: [UITab] { get set }
set · iOS 18.0+

tabs

TypeScript
setTabs90039(value: Array<UITab>): Promise<void>
Swift declaration
var tabs: [UITab] { get set }
get · iOS 2.0+

viewControllers

TypeScript
get viewControllers(): Promise<(Array<UIViewController>) | null>
Swift declaration
var viewControllers: [UIViewController]? { get set }
set · iOS 2.0+

viewControllers

TypeScript
setViewControllers60827(value?: (Array<UIViewController>) | null): Promise<void>
Swift declaration
var viewControllers: [UIViewController]? { get set }

Skipped declarations

1 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

UITabBarController.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

All UIKit types →