One Logo Pool Ball
UIKit · IOS API REFERENCE

UINavigationItem

class · iOS 2.0+ · SDK 27.1

@MainActor class UINavigationItem

Members (95)

init · iOS 2.0+

init

TypeScript
static initCoder(coder: _Foundation_NSCoder): Promise<(UINavigationItem) | null>
Swift declaration
init?(coder: NSCoder)
init · iOS 2.0+

init

TypeScript
static initTitle(title: string): Promise<UINavigationItem>
Swift declaration
init(title: String)
method · iOS 2.0+

setHidesBackButton

TypeScript
setHidesBackButton(hidesBackButton: boolean, animated: boolean): Promise<void>
Swift declaration
func setHidesBackButton(_ hidesBackButton: Bool, animated: Bool)
method · iOS 2.0+

setLeftBarButton

TypeScript
setLeftBarButton(item: (UIBarButtonItem) | null, animated: boolean): Promise<void>
Swift declaration
func setLeftBarButton(_ item: UIBarButtonItem?, animated: Bool)
method · iOS 5.0+

setLeftBarButtonItems

TypeScript
setLeftBarButtonItems(items: (Array<UIBarButtonItem>) | null, animated: boolean): Promise<void>
Swift declaration
func setLeftBarButtonItems(_ items: [UIBarButtonItem]?, animated: Bool)
method · iOS 2.0+

setRightBarButton

TypeScript
setRightBarButton(item: (UIBarButtonItem) | null, animated: boolean): Promise<void>
Swift declaration
func setRightBarButton(_ item: UIBarButtonItem?, animated: Bool)
method · iOS 5.0+

setRightBarButtonItems

TypeScript
setRightBarButtonItems(items: (Array<UIBarButtonItem>) | null, animated: boolean): Promise<void>
Swift declaration
func setRightBarButtonItems(_ items: [UIBarButtonItem]?, animated: Bool)
get · iOS 16.0+

additionalOverflowItems

TypeScript
get additionalOverflowItems(): Promise<(UIDeferredMenuElement) | null>
Swift declaration
var additionalOverflowItems: UIDeferredMenuElement? { get set }
set · iOS 16.0+

additionalOverflowItems

TypeScript
setAdditionalOverflowItems(value?: (UIDeferredMenuElement) | null): Promise<void>
Swift declaration
var additionalOverflowItems: UIDeferredMenuElement? { get set }
get · iOS 16.0+

backAction

TypeScript
get backAction(): Promise<(UIAction) | null>
Swift declaration
@NSCopying var backAction: UIAction? { get set }
set · iOS 16.0+

backAction

TypeScript
setBackAction(value?: (UIAction) | null): Promise<void>
Swift declaration
@NSCopying var backAction: UIAction? { get set }
get · iOS 2.0+

backBarButtonItem

TypeScript
get backBarButtonItem(): Promise<(UIBarButtonItem) | null>
Swift declaration
var backBarButtonItem: UIBarButtonItem? { get set }
set · iOS 2.0+

backBarButtonItem

TypeScript
setBackBarButtonItem(value?: (UIBarButtonItem) | null): Promise<void>
Swift declaration
var backBarButtonItem: UIBarButtonItem? { get set }
get · iOS 14.0+

backButtonDisplayMode

TypeScript
get backButtonDisplayMode(): Promise<UINavigationItem_BackButtonDisplayMode>
Swift declaration
var backButtonDisplayMode: UINavigationItem.BackButtonDisplayMode { get set }
set · iOS 14.0+

backButtonDisplayMode

TypeScript
setBackButtonDisplayMode(value: UINavigationItem_BackButtonDisplayMode): Promise<void>
Swift declaration
var backButtonDisplayMode: UINavigationItem.BackButtonDisplayMode { get set }
get · iOS 11.0+

backButtonTitle

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

backButtonTitle

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

centerItemGroups

TypeScript
get centerItemGroups(): Promise<Array<UIBarButtonItemGroup>>
Swift declaration
var centerItemGroups: [UIBarButtonItemGroup] { get set }
set · iOS 16.0+

centerItemGroups

TypeScript
setCenterItemGroups(value: Array<UIBarButtonItemGroup>): Promise<void>
Swift declaration
var centerItemGroups: [UIBarButtonItemGroup] { get set }
get · iOS 13.0+

compactAppearance

TypeScript
get compactAppearance(): Promise<(UINavigationBarAppearance) | null>
Swift declaration
@NSCopying var compactAppearance: UINavigationBarAppearance? { get set }
set · iOS 13.0+

compactAppearance

TypeScript
setCompactAppearance(value?: (UINavigationBarAppearance) | null): Promise<void>
Swift declaration
@NSCopying var compactAppearance: UINavigationBarAppearance? { get set }
get · iOS 15.0+

compactScrollEdgeAppearance

TypeScript
get compactScrollEdgeAppearance(): Promise<(UINavigationBarAppearance) | null>
Swift declaration
@NSCopying var compactScrollEdgeAppearance: UINavigationBarAppearance? { get set }
set · iOS 15.0+

compactScrollEdgeAppearance

TypeScript
setCompactScrollEdgeAppearance(value?: (UINavigationBarAppearance) | null): Promise<void>
Swift declaration
@NSCopying var compactScrollEdgeAppearance: UINavigationBarAppearance? { get set }
get · iOS 16.0+

customizationIdentifier

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

customizationIdentifier

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

documentProperties

TypeScript
get documentProperties(): Promise<(UIDocumentProperties) | null>
Swift declaration
var documentProperties: UIDocumentProperties? { get set }
set · iOS 16.0+

documentProperties

TypeScript
setDocumentProperties(value?: (UIDocumentProperties) | null): Promise<void>
Swift declaration
var documentProperties: UIDocumentProperties? { get set }
get · iOS 2.0+

hidesBackButton

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

hidesBackButton

TypeScript
setHidesBackButton44560(value: boolean): Promise<void>
Swift declaration
var hidesBackButton: Bool { get set }
get · iOS 11.0+

hidesSearchBarWhenScrolling

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

hidesSearchBarWhenScrolling

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

largeSubtitle

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

largeSubtitle

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

largeSubtitleView

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

largeSubtitleView

TypeScript
setLargeSubtitleView(value?: (UIView) | null): Promise<void>
Swift declaration
var largeSubtitleView: UIView? { get set }
get · iOS 26.0+

largeTitle

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

largeTitle

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

largeTitleDisplayMode

TypeScript
get largeTitleDisplayMode(): Promise<UINavigationItem_LargeTitleDisplayMode>
Swift declaration
var largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode { get set }
set · iOS 11.0+

largeTitleDisplayMode

TypeScript
setLargeTitleDisplayMode(value: UINavigationItem_LargeTitleDisplayMode): Promise<void>
Swift declaration
var largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode { get set }
get · iOS 16.0+

leadingItemGroups

TypeScript
get leadingItemGroups(): Promise<Array<UIBarButtonItemGroup>>
Swift declaration
var leadingItemGroups: [UIBarButtonItemGroup] { get set }
set · iOS 16.0+

leadingItemGroups

TypeScript
setLeadingItemGroups(value: Array<UIBarButtonItemGroup>): Promise<void>
Swift declaration
var leadingItemGroups: [UIBarButtonItemGroup] { get set }
get · iOS 2.0+

leftBarButtonItem

TypeScript
get leftBarButtonItem(): Promise<(UIBarButtonItem) | null>
Swift declaration
var leftBarButtonItem: UIBarButtonItem? { get set }
set · iOS 2.0+

leftBarButtonItem

TypeScript
setLeftBarButtonItem(value?: (UIBarButtonItem) | null): Promise<void>
Swift declaration
var leftBarButtonItem: UIBarButtonItem? { get set }
get · iOS 5.0+

leftBarButtonItems

TypeScript
get leftBarButtonItems(): Promise<(Array<UIBarButtonItem>) | null>
Swift declaration
var leftBarButtonItems: [UIBarButtonItem]? { get set }
set · iOS 5.0+

leftBarButtonItems

TypeScript
setLeftBarButtonItems83296(value?: (Array<UIBarButtonItem>) | null): Promise<void>
Swift declaration
var leftBarButtonItems: [UIBarButtonItem]? { get set }
get · iOS 5.0+

leftItemsSupplementBackButton

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

leftItemsSupplementBackButton

TypeScript
setLeftItemsSupplementBackButton(value: boolean): Promise<void>
Swift declaration
var leftItemsSupplementBackButton: Bool { get set }
get · iOS 16.0+

overflowPresentationSource

TypeScript
get overflowPresentationSource(): Promise<(SDKHandle) | null>
Swift declaration
var overflowPresentationSource: (any UIPopoverPresentationControllerSourceItem)? { get }
get · iOS 16.0+

pinnedTrailingGroup

TypeScript
get pinnedTrailingGroup(): Promise<(UIBarButtonItemGroup) | null>
Swift declaration
var pinnedTrailingGroup: UIBarButtonItemGroup? { get set }
set · iOS 16.0+

pinnedTrailingGroup

TypeScript
setPinnedTrailingGroup(value?: (UIBarButtonItemGroup) | null): Promise<void>
Swift declaration
var pinnedTrailingGroup: UIBarButtonItemGroup? { get set }
get · iOS 16.0+

preferredSearchBarPlacement

TypeScript
get preferredSearchBarPlacement(): Promise<UINavigationItem_SearchBarPlacement>
Swift declaration
var preferredSearchBarPlacement: UINavigationItem.SearchBarPlacement { get set }
set · iOS 16.0+

preferredSearchBarPlacement

TypeScript
setPreferredSearchBarPlacement(value: UINavigationItem_SearchBarPlacement): Promise<void>
Swift declaration
var preferredSearchBarPlacement: UINavigationItem.SearchBarPlacement { get set }
get · iOS 2.0+

prompt

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

prompt

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

rightBarButtonItem

TypeScript
get rightBarButtonItem(): Promise<(UIBarButtonItem) | null>
Swift declaration
var rightBarButtonItem: UIBarButtonItem? { get set }
set · iOS 2.0+

rightBarButtonItem

TypeScript
setRightBarButtonItem(value?: (UIBarButtonItem) | null): Promise<void>
Swift declaration
var rightBarButtonItem: UIBarButtonItem? { get set }
get · iOS 5.0+

rightBarButtonItems

TypeScript
get rightBarButtonItems(): Promise<(Array<UIBarButtonItem>) | null>
Swift declaration
var rightBarButtonItems: [UIBarButtonItem]? { get set }
set · iOS 5.0+

rightBarButtonItems

TypeScript
setRightBarButtonItems43251(value?: (Array<UIBarButtonItem>) | null): Promise<void>
Swift declaration
var rightBarButtonItems: [UIBarButtonItem]? { get set }
get · iOS 13.0+

scrollEdgeAppearance

TypeScript
get scrollEdgeAppearance(): Promise<(UINavigationBarAppearance) | null>
Swift declaration
@NSCopying var scrollEdgeAppearance: UINavigationBarAppearance? { get set }
set · iOS 13.0+

scrollEdgeAppearance

TypeScript
setScrollEdgeAppearance(value?: (UINavigationBarAppearance) | null): Promise<void>
Swift declaration
@NSCopying var scrollEdgeAppearance: UINavigationBarAppearance? { get set }
get · iOS 16.0+

searchBarPlacement

TypeScript
get searchBarPlacement(): Promise<UINavigationItem_SearchBarPlacement>
Swift declaration
var searchBarPlacement: UINavigationItem.SearchBarPlacement { get }
get · iOS 26.0+

searchBarPlacementAllowsExternalIntegration

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

searchBarPlacementAllowsExternalIntegration

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

searchBarPlacementAllowsToolbarIntegration

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

searchBarPlacementAllowsToolbarIntegration

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

searchBarPlacementBarButtonItem

TypeScript
get searchBarPlacementBarButtonItem(): Promise<UIBarButtonItem>
Swift declaration
var searchBarPlacementBarButtonItem: UIBarButtonItem { get }
get · iOS 11.0+

searchController

TypeScript
get searchController(): Promise<(UISearchController) | null>
Swift declaration
var searchController: UISearchController? { get set }
set · iOS 11.0+

searchController

TypeScript
setSearchController(value?: (UISearchController) | null): Promise<void>
Swift declaration
var searchController: UISearchController? { get set }
get · iOS 13.0+

standardAppearance

TypeScript
get standardAppearance(): Promise<(UINavigationBarAppearance) | null>
Swift declaration
@NSCopying var standardAppearance: UINavigationBarAppearance? { get set }
set · iOS 13.0+

standardAppearance

TypeScript
setStandardAppearance(value?: (UINavigationBarAppearance) | null): Promise<void>
Swift declaration
@NSCopying var standardAppearance: UINavigationBarAppearance? { get set }
get · iOS 16.0+

style

TypeScript
get style(): Promise<UINavigationItem_ItemStyle>
Swift declaration
var style: UINavigationItem.ItemStyle { get set }
set · iOS 16.0+

style

TypeScript
setStyle(value: UINavigationItem_ItemStyle): Promise<void>
Swift declaration
var style: UINavigationItem.ItemStyle { get set }
get · iOS 26.0+

subtitle

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

subtitle

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

subtitleView

TypeScript
get subtitleView(): Promise<(UIView) | null>
Swift declaration
@NSCopying var subtitleView: UIView? { get set }
set · iOS 26.0+

subtitleView

TypeScript
setSubtitleView(value?: (UIView) | null): Promise<void>
Swift declaration
@NSCopying var subtitleView: UIView? { get set }
get · iOS 2.0+

title

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

title

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

titleMenuProvider

TypeScript
get titleMenuProvider(): Promise<(((arg0: Array<UIMenuElement>) => Promise<(UIMenu) | null>)) | null>
Swift declaration
var titleMenuProvider: (([UIMenuElement]) -> UIMenu?)? { get set }
get · iOS 2.0+

titleView

TypeScript
get titleView(): Promise<(UIView) | null>
Swift declaration
var titleView: UIView? { get set }
set · iOS 2.0+

titleView

TypeScript
setTitleView(value?: (UIView) | null): Promise<void>
Swift declaration
var titleView: UIView? { get set }
get · iOS 16.0+

trailingItemGroups

TypeScript
get trailingItemGroups(): Promise<Array<UIBarButtonItemGroup>>
Swift declaration
var trailingItemGroups: [UIBarButtonItemGroup] { get set }
set · iOS 16.0+

trailingItemGroups

TypeScript
setTrailingItemGroups(value: Array<UIBarButtonItemGroup>): Promise<void>
Swift declaration
var trailingItemGroups: [UIBarButtonItemGroup] { get set }
get · iOS 27.1+

verticalBarCompressionBehavior

TypeScript
get verticalBarCompressionBehavior(): Promise<UIVerticalBarCompressionBehavior>
Swift declaration
var verticalBarCompressionBehavior: UIVerticalBarCompressionBehavior { get set }
set · iOS 27.1+

verticalBarCompressionBehavior

TypeScript
setVerticalBarCompressionBehavior(value: UIVerticalBarCompressionBehavior): Promise<void>
Swift declaration
var verticalBarCompressionBehavior: UIVerticalBarCompressionBehavior { get set }
get · iOS 16.0+

renameDelegate

TypeScript
get renameDelegate(): Promise<(SDKHandle) | null>
Swift declaration
@MainActor @preconcurrency weak var renameDelegate: (any UINavigationItemRenameDelegate)? { get set }
set · iOS 16.0+

renameDelegate

TypeScript
setRenameDelegate(value?: (SDKHandle) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency weak var renameDelegate: (any UINavigationItemRenameDelegate)? { get set }
get · iOS 26.0+

attributedTitle

TypeScript
get attributedTitle(): Promise<(_Foundation_AttributedString) | null>
Swift declaration
@MainActor @preconcurrency var attributedTitle: AttributedString? { get set }
set · iOS 26.0+

attributedTitle

TypeScript
setAttributedTitle(value?: (_Foundation_AttributedString) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency var attributedTitle: AttributedString? { get set }
get · iOS 26.0+

attributedSubtitle

TypeScript
get attributedSubtitle(): Promise<(_Foundation_AttributedString) | null>
Swift declaration
@MainActor @preconcurrency var attributedSubtitle: AttributedString? { get set }
set · iOS 26.0+

attributedSubtitle

TypeScript
setAttributedSubtitle(value?: (_Foundation_AttributedString) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency var attributedSubtitle: AttributedString? { get set }
get · iOS 26.0+

largeAttributedSubtitle

TypeScript
get largeAttributedSubtitle(): Promise<(_Foundation_AttributedString) | null>
Swift declaration
@MainActor @preconcurrency var largeAttributedSubtitle: AttributedString? { get set }
set · iOS 26.0+

largeAttributedSubtitle

TypeScript
setLargeAttributedSubtitle(value?: (_Foundation_AttributedString) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency var largeAttributedSubtitle: AttributedString? { get set }
get · iOS 27.0+

navigationBarMinimization

TypeScript
get navigationBarMinimization(): Promise<UIBarMinimization>
Swift declaration
@MainActor @preconcurrency var navigationBarMinimization: UIBarMinimization { get set }
set · iOS 27.0+

navigationBarMinimization

TypeScript
setNavigationBarMinimization(value: UIBarMinimization): Promise<void>
Swift declaration
@MainActor @preconcurrency var navigationBarMinimization: UIBarMinimization { get set }

Skipped declarations

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

UINavigationItem.titleMenuProvider

closure property answers its caller

UINavigationItem.init()

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

All UIKit types →