pub struct UINavigationItem { /* private fields */ }UINavigationItem only.Expand description
Implementations§
pub fn initWithTitle(this: Allocated<Self>, title: &NSString) -> Retained<Self>
Sourcepub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>
pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
§Safety
coder possibly has further requirements.
Sourcepub fn title(&self) -> Option<Retained<NSString>>
pub fn title(&self) -> Option<Retained<NSString>>
Title when topmost on the stack. default is nil
Sourcepub fn attributedTitle(&self) -> Option<Retained<NSAttributedString>>
pub fn attributedTitle(&self) -> Option<Retained<NSAttributedString>>
An attributed string that is rendered as the title in the navigation bar.
If titleView is non-nil, this property is ignored.
Sourcepub fn setAttributedTitle(&self, attributed_title: Option<&NSAttributedString>)
pub fn setAttributedTitle(&self, attributed_title: Option<&NSAttributedString>)
Setter for attributedTitle.
This is copied when set.
Sourcepub fn titleView(&self) -> Option<Retained<UIView>>
Available on crate features UIResponder and UIView only.
pub fn titleView(&self) -> Option<Retained<UIView>>
UIResponder and UIView only.Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.
Sourcepub fn setTitleView(&self, title_view: Option<&UIView>)
Available on crate features UIResponder and UIView only.
pub fn setTitleView(&self, title_view: Option<&UIView>)
UIResponder and UIView only.Setter for titleView.
Sourcepub fn subtitle(&self) -> Option<Retained<NSString>>
pub fn subtitle(&self) -> Option<Retained<NSString>>
A string to display as the subtitle in the navigation bar.
If attributedSubtitle is non-nil, this property just returns the String
representation of the attributedString.
If subtitleView is non-nil, this property is ignored.
Sourcepub fn setSubtitle(&self, subtitle: Option<&NSString>)
pub fn setSubtitle(&self, subtitle: Option<&NSString>)
Sourcepub fn attributedSubtitle(&self) -> Option<Retained<NSAttributedString>>
pub fn attributedSubtitle(&self) -> Option<Retained<NSAttributedString>>
An attributed string to display as the subtitle in the navigation bar.
If non-nil, this property takes precedence over the subtitle property.
If subtitleView is non-nil, this property is ignored.
If titleView is non-nil, this property is ignored.
Sourcepub fn setAttributedSubtitle(
&self,
attributed_subtitle: Option<&NSAttributedString>,
)
pub fn setAttributedSubtitle( &self, attributed_subtitle: Option<&NSAttributedString>, )
Setter for attributedSubtitle.
This is copied when set.
Sourcepub fn subtitleView(&self) -> Option<Retained<UIView>>
Available on crate features UIResponder and UIView only.
pub fn subtitleView(&self) -> Option<Retained<UIView>>
UIResponder and UIView only.A custom view to display below the title in the navigation bar.
If non-nil, this property takes precedence over the subtitle and attributedSubtitle properties.
The view’s layout constraints will determine its size, or the view may override sizeThatFits(_:)
to return its desired size.
Sourcepub fn setSubtitleView(&self, subtitle_view: Option<&UIView>)
Available on crate features UIResponder and UIView only.
pub fn setSubtitleView(&self, subtitle_view: Option<&UIView>)
UIResponder and UIView only.Setter for subtitleView.
This is copied when set.
Sourcepub fn largeTitle(&self) -> Option<Retained<NSString>>
pub fn largeTitle(&self) -> Option<Retained<NSString>>
String to be used as the large title.
When nil, the navigation bar will use the navigation item’s current title.
Sourcepub fn setLargeTitle(&self, large_title: Option<&NSString>)
pub fn setLargeTitle(&self, large_title: Option<&NSString>)
Setter for largeTitle.
This is copied when set.
Sourcepub fn largeSubtitle(&self) -> Option<Retained<NSString>>
pub fn largeSubtitle(&self) -> Option<Retained<NSString>>
String to be rendered below the large title.
When nil, the navigation bar will fall back to the subtitle.
Sourcepub fn setLargeSubtitle(&self, large_subtitle: Option<&NSString>)
pub fn setLargeSubtitle(&self, large_subtitle: Option<&NSString>)
Setter for largeSubtitle.
This is copied when set.
Sourcepub fn largeAttributedSubtitle(&self) -> Option<Retained<NSAttributedString>>
pub fn largeAttributedSubtitle(&self) -> Option<Retained<NSAttributedString>>
An attributed string to be rendered below the large title.
When nil, the navigation bar will fall back to the largeSubtitle.
If a largeSubtitleView is set, this property is ignored.
Sourcepub fn setLargeAttributedSubtitle(
&self,
large_attributed_subtitle: Option<&NSAttributedString>,
)
pub fn setLargeAttributedSubtitle( &self, large_attributed_subtitle: Option<&NSAttributedString>, )
Setter for largeAttributedSubtitle.
This is copied when set.
Sourcepub fn largeSubtitleView(&self) -> Option<Retained<UIView>>
Available on crate features UIResponder and UIView only.
pub fn largeSubtitleView(&self) -> Option<Retained<UIView>>
UIResponder and UIView only.A custom view to display below the large title.
When non-nil, this takes precedence over any other subtitle.
The view’s layout constraints will determine its size, or the view may override sizeThatFits(_:)
to return its desired size.
Sourcepub fn setLargeSubtitleView(&self, large_subtitle_view: Option<&UIView>)
Available on crate features UIResponder and UIView only.
pub fn setLargeSubtitleView(&self, large_subtitle_view: Option<&UIView>)
UIResponder and UIView only.Setter for largeSubtitleView.
Sourcepub fn prompt(&self) -> Option<Retained<NSString>>
pub fn prompt(&self) -> Option<Retained<NSString>>
Explanatory text to display above the navigation bar buttons.
Sourcepub fn backBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn backBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>
UIBarButtonItem and UIBarItem only.Bar button item to use for the back button when this item is the navigation bar’s backItem.
Sourcepub fn setBackBarButtonItem(
&self,
back_bar_button_item: Option<&UIBarButtonItem>,
)
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn setBackBarButtonItem( &self, back_bar_button_item: Option<&UIBarButtonItem>, )
UIBarButtonItem and UIBarItem only.Setter for backBarButtonItem.
Sourcepub fn backButtonTitle(&self) -> Option<Retained<NSString>>
pub fn backButtonTitle(&self) -> Option<Retained<NSString>>
Title to use when this item is the navigation bar’s backItem. Default is nil. backBarButtonItem takes precedence if both are specified.
Sourcepub fn setBackButtonTitle(&self, back_button_title: Option<&NSString>)
pub fn setBackButtonTitle(&self, back_button_title: Option<&NSString>)
Setter for backButtonTitle.
This is copied when set.
Sourcepub fn hidesBackButton(&self) -> bool
pub fn hidesBackButton(&self) -> bool
If YES, this navigation item will hide the back button when it’s on top of the stack.
Sourcepub fn setHidesBackButton(&self, hides_back_button: bool)
pub fn setHidesBackButton(&self, hides_back_button: bool)
Setter for hidesBackButton.
pub fn setHidesBackButton_animated( &self, hides_back_button: bool, animated: bool, )
Sourcepub fn backButtonDisplayMode(&self) -> UINavigationItemBackButtonDisplayMode
pub fn backButtonDisplayMode(&self) -> UINavigationItemBackButtonDisplayMode
Controls how the back button sources its title.
Sourcepub fn setBackButtonDisplayMode(
&self,
back_button_display_mode: UINavigationItemBackButtonDisplayMode,
)
pub fn setBackButtonDisplayMode( &self, back_button_display_mode: UINavigationItemBackButtonDisplayMode, )
Setter for backButtonDisplayMode.
Sourcepub fn backAction(&self) -> Option<Retained<UIAction>>
Available on crate features UIAction and UIMenuElement only.
pub fn backAction(&self) -> Option<Retained<UIAction>>
UIAction and UIMenuElement only.Replaces the back action for the navigation bar. if a back button is naturally present, this replaces only its action, otherwise a back button will be synthesized with the image or title from the action.
Sourcepub fn setBackAction(&self, back_action: Option<&UIAction>)
Available on crate features UIAction and UIMenuElement only.
pub fn setBackAction(&self, back_action: Option<&UIAction>)
UIAction and UIMenuElement only.Setter for backAction.
This is copied when set.
Sourcepub unsafe fn titleMenuProvider(
&self,
) -> *mut DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>
Available on crate features UIMenu and UIMenuElement and block2 only.
pub unsafe fn titleMenuProvider( &self, ) -> *mut DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>
UIMenu and UIMenuElement and block2 only.When non-nil, UIKit will generate suggestedActions and call this block to generate a menu that is displayed from the title.
§Safety
The returned block’s argument must be a valid pointer.
Sourcepub unsafe fn setTitleMenuProvider(
&self,
title_menu_provider: Option<&DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>>,
)
Available on crate features UIMenu and UIMenuElement and block2 only.
pub unsafe fn setTitleMenuProvider( &self, title_menu_provider: Option<&DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>>, )
UIMenu and UIMenuElement and block2 only.Setter for titleMenuProvider.
This is copied when set.
§Safety
title_menu_provider block’s return must be a valid pointer or null.
Sourcepub fn renameDelegate(
&self,
) -> Option<Retained<ProtocolObject<dyn UINavigationItemRenameDelegate>>>
pub fn renameDelegate( &self, ) -> Option<Retained<ProtocolObject<dyn UINavigationItemRenameDelegate>>>
When non-nil, enables the UINavigationBar to respond to the rename: action by providing an inline UI. Setting this property to nil while a rename operation is in progress will cancel the operation immediately.
Sourcepub fn setRenameDelegate(
&self,
rename_delegate: Option<&ProtocolObject<dyn UINavigationItemRenameDelegate>>,
)
pub fn setRenameDelegate( &self, rename_delegate: Option<&ProtocolObject<dyn UINavigationItemRenameDelegate>>, )
Setter for renameDelegate.
This is a weak property.
Sourcepub fn documentProperties(&self) -> Option<Retained<UIDocumentProperties>>
Available on crate feature UIDocumentProperties only.
pub fn documentProperties(&self) -> Option<Retained<UIDocumentProperties>>
UIDocumentProperties only.When non-nil, UIKit will use the metadata provided to generate additional controls displayed from the title.
Sourcepub fn setDocumentProperties(
&self,
document_properties: Option<&UIDocumentProperties>,
)
Available on crate feature UIDocumentProperties only.
pub fn setDocumentProperties( &self, document_properties: Option<&UIDocumentProperties>, )
UIDocumentProperties only.Setter for documentProperties.
pub fn leftBarButtonItems(&self) -> Option<Retained<NSArray<UIBarButtonItem>>>
UIBarButtonItem and UIBarItem only.Sourcepub fn setLeftBarButtonItems(
&self,
left_bar_button_items: Option<&NSArray<UIBarButtonItem>>,
)
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn setLeftBarButtonItems( &self, left_bar_button_items: Option<&NSArray<UIBarButtonItem>>, )
UIBarButtonItem and UIBarItem only.Setter for leftBarButtonItems.
This is copied when set.
pub fn rightBarButtonItems(&self) -> Option<Retained<NSArray<UIBarButtonItem>>>
UIBarButtonItem and UIBarItem only.Sourcepub fn setRightBarButtonItems(
&self,
right_bar_button_items: Option<&NSArray<UIBarButtonItem>>,
)
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn setRightBarButtonItems( &self, right_bar_button_items: Option<&NSArray<UIBarButtonItem>>, )
UIBarButtonItem and UIBarItem only.Setter for rightBarButtonItems.
This is copied when set.
pub fn setLeftBarButtonItems_animated( &self, items: Option<&NSArray<UIBarButtonItem>>, animated: bool, )
UIBarButtonItem and UIBarItem only.pub fn setRightBarButtonItems_animated( &self, items: Option<&NSArray<UIBarButtonItem>>, animated: bool, )
UIBarButtonItem and UIBarItem only.pub fn leftItemsSupplementBackButton(&self) -> bool
Sourcepub fn setLeftItemsSupplementBackButton(
&self,
left_items_supplement_back_button: bool,
)
pub fn setLeftItemsSupplementBackButton( &self, left_items_supplement_back_button: bool, )
Setter for leftItemsSupplementBackButton.
Sourcepub fn leftBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn leftBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>
UIBarButtonItem and UIBarItem only.Some navigation items want to display a custom left or right item when they’re on top of the stack. A custom left item replaces the regular back button unless you set leftItemsSupplementBackButton to YES
Sourcepub fn setLeftBarButtonItem(
&self,
left_bar_button_item: Option<&UIBarButtonItem>,
)
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn setLeftBarButtonItem( &self, left_bar_button_item: Option<&UIBarButtonItem>, )
UIBarButtonItem and UIBarItem only.Setter for leftBarButtonItem.
pub fn rightBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>
UIBarButtonItem and UIBarItem only.Sourcepub fn setRightBarButtonItem(
&self,
right_bar_button_item: Option<&UIBarButtonItem>,
)
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn setRightBarButtonItem( &self, right_bar_button_item: Option<&UIBarButtonItem>, )
UIBarButtonItem and UIBarItem only.Setter for rightBarButtonItem.
pub fn setLeftBarButtonItem_animated( &self, item: Option<&UIBarButtonItem>, animated: bool, )
UIBarButtonItem and UIBarItem only.pub fn setRightBarButtonItem_animated( &self, item: Option<&UIBarButtonItem>, animated: bool, )
UIBarButtonItem and UIBarItem only.Sourcepub fn customizationIdentifier(&self) -> Option<Retained<NSString>>
pub fn customizationIdentifier(&self) -> Option<Retained<NSString>>
Setting a non-nil customizationIdentifier enables customization and UIKit will automatically save & restore customizations based on this identifier. The identifier must be unique within the scope of the application.
Sourcepub fn setCustomizationIdentifier(
&self,
customization_identifier: Option<&NSString>,
)
pub fn setCustomizationIdentifier( &self, customization_identifier: Option<&NSString>, )
Setter for customizationIdentifier.
This is copied when set.
Sourcepub fn leadingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
Available on crate feature UIBarButtonItemGroup only.
pub fn leadingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
UIBarButtonItemGroup only.UIBarButtonItemGroups to be displayed in the leading section of the navigation bar. Items set via this method will replace items set via .leftBarButtonItem or .leftBarButtonItems.
Sourcepub fn setLeadingItemGroups(
&self,
leading_item_groups: &NSArray<UIBarButtonItemGroup>,
)
Available on crate feature UIBarButtonItemGroup only.
pub fn setLeadingItemGroups( &self, leading_item_groups: &NSArray<UIBarButtonItemGroup>, )
UIBarButtonItemGroup only.Setter for leadingItemGroups.
This is copied when set.
Sourcepub fn centerItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
Available on crate feature UIBarButtonItemGroup only.
pub fn centerItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
UIBarButtonItemGroup only.Customizable UIBarButtonItemGroups that will be placed in the center region when the navigation bar is the browser or editor modes. In navigation mode, these items will be placed in the overflow.
Sourcepub fn setCenterItemGroups(
&self,
center_item_groups: &NSArray<UIBarButtonItemGroup>,
)
Available on crate feature UIBarButtonItemGroup only.
pub fn setCenterItemGroups( &self, center_item_groups: &NSArray<UIBarButtonItemGroup>, )
UIBarButtonItemGroup only.Setter for centerItemGroups.
This is copied when set.
Sourcepub fn trailingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
Available on crate feature UIBarButtonItemGroup only.
pub fn trailingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>
UIBarButtonItemGroup only.UIBarButtonItemGroups to be displayed in the trailing section of the navigation bar. Items set via this method will replace items set via .rightBarButtonItem or .rightBarButtonItems.
Sourcepub fn setTrailingItemGroups(
&self,
trailing_item_groups: &NSArray<UIBarButtonItemGroup>,
)
Available on crate feature UIBarButtonItemGroup only.
pub fn setTrailingItemGroups( &self, trailing_item_groups: &NSArray<UIBarButtonItemGroup>, )
UIBarButtonItemGroup only.Setter for trailingItemGroups.
This is copied when set.
Sourcepub fn pinnedTrailingGroup(&self) -> Option<Retained<UIBarButtonItemGroup>>
Available on crate feature UIBarButtonItemGroup only.
pub fn pinnedTrailingGroup(&self) -> Option<Retained<UIBarButtonItemGroup>>
UIBarButtonItemGroup only.Set a group of items to be placed on the trailing edge of the bar, past the overflow & search items (if present). If you wish to have more than 1 item, it is HIGHLY recommended to assign a representative item to the group to avoid overflowing the bar as this group cannot move to the overflow.
Sourcepub fn setPinnedTrailingGroup(
&self,
pinned_trailing_group: Option<&UIBarButtonItemGroup>,
)
Available on crate feature UIBarButtonItemGroup only.
pub fn setPinnedTrailingGroup( &self, pinned_trailing_group: Option<&UIBarButtonItemGroup>, )
UIBarButtonItemGroup only.Setter for pinnedTrailingGroup.
Sourcepub fn additionalOverflowItems(&self) -> Option<Retained<UIDeferredMenuElement>>
Available on crate features UIDeferredMenuElement and UIMenuElement only.
pub fn additionalOverflowItems(&self) -> Option<Retained<UIDeferredMenuElement>>
UIDeferredMenuElement and UIMenuElement only.Additional items to add to the overflow menu. Setting this property to a non-nil value will force the overflow button to appear, regardless of if you provide any content in the element’s callback. Items returned are displayed directly in the presented menu.
Sourcepub fn setAdditionalOverflowItems(
&self,
additional_overflow_items: Option<&UIDeferredMenuElement>,
)
Available on crate features UIDeferredMenuElement and UIMenuElement only.
pub fn setAdditionalOverflowItems( &self, additional_overflow_items: Option<&UIDeferredMenuElement>, )
UIDeferredMenuElement and UIMenuElement only.Setter for additionalOverflowItems.
Sourcepub fn overflowPresentationSource(
&self,
) -> Option<Retained<ProtocolObject<dyn UIPopoverPresentationControllerSourceItem>>>
Available on crate feature UIPopoverPresentationControllerSourceItem only.
pub fn overflowPresentationSource( &self, ) -> Option<Retained<ProtocolObject<dyn UIPopoverPresentationControllerSourceItem>>>
UIPopoverPresentationControllerSourceItem only.If the overflow button for this item is currently present, then this will return a non-nil item that can be used as a presentation source (e.g. for popovers). Otherwise it will return nil.
Sourcepub fn largeTitleDisplayMode(&self) -> UINavigationItemLargeTitleDisplayMode
pub fn largeTitleDisplayMode(&self) -> UINavigationItemLargeTitleDisplayMode
When UINavigationBar.prefersLargeTitles=YES, this property controls when the larger out-of-line title is displayed. If prefersLargeTitles=NO, this property has no effect. The default value is Automatic.
Sourcepub fn setLargeTitleDisplayMode(
&self,
large_title_display_mode: UINavigationItemLargeTitleDisplayMode,
)
pub fn setLargeTitleDisplayMode( &self, large_title_display_mode: UINavigationItemLargeTitleDisplayMode, )
Setter for largeTitleDisplayMode.
Sourcepub fn style(&self) -> UINavigationItemStyle
pub fn style(&self) -> UINavigationItemStyle
Controls how content defined by this item is laid out in the navigation bar.
Sourcepub fn setStyle(&self, style: UINavigationItemStyle)
pub fn setStyle(&self, style: UINavigationItemStyle)
Setter for style.
Sourcepub fn searchController(&self) -> Option<Retained<UISearchController>>
Available on crate features UIResponder and UISearchController and UIViewController only.
pub fn searchController(&self) -> Option<Retained<UISearchController>>
UIResponder and UISearchController and UIViewController only.A view controller that will be shown inside of a navigation controller can assign a UISearchController to this property to display the search controller’s search bar in its containing navigation controller’s navigation bar.
Sourcepub fn setSearchController(
&self,
search_controller: Option<&UISearchController>,
)
Available on crate features UIResponder and UISearchController and UIViewController only.
pub fn setSearchController( &self, search_controller: Option<&UISearchController>, )
UIResponder and UISearchController and UIViewController only.Setter for searchController.
Sourcepub fn hidesSearchBarWhenScrolling(&self) -> bool
pub fn hidesSearchBarWhenScrolling(&self) -> bool
If this property is true (the default), the searchController’s search bar will hide as the user scrolls in the top view controller’s scroll view. If false, the search bar will remain visible and pinned underneath the navigation bar.
Not applicable and ignored for UINavigationItemSearchBarPlacementIntegrated
Sourcepub fn setHidesSearchBarWhenScrolling(
&self,
hides_search_bar_when_scrolling: bool,
)
pub fn setHidesSearchBarWhenScrolling( &self, hides_search_bar_when_scrolling: bool, )
Setter for hidesSearchBarWhenScrolling.
Sourcepub fn preferredSearchBarPlacement(&self) -> UINavigationItemSearchBarPlacement
pub fn preferredSearchBarPlacement(&self) -> UINavigationItemSearchBarPlacement
The preferred search bar placement, when a search controller is assigned to this item.
Sourcepub fn setPreferredSearchBarPlacement(
&self,
preferred_search_bar_placement: UINavigationItemSearchBarPlacement,
)
pub fn setPreferredSearchBarPlacement( &self, preferred_search_bar_placement: UINavigationItemSearchBarPlacement, )
Setter for preferredSearchBarPlacement.
Sourcepub fn searchBarPlacement(&self) -> UINavigationItemSearchBarPlacement
pub fn searchBarPlacement(&self) -> UINavigationItemSearchBarPlacement
The realized placement. Only valid if a search controller has been assigned to this item.
Sourcepub fn searchBarPlacementBarButtonItem(&self) -> Retained<UIBarButtonItem>
Available on crate features UIBarButtonItem and UIBarItem only.
pub fn searchBarPlacementBarButtonItem(&self) -> Retained<UIBarButtonItem>
UIBarButtonItem and UIBarItem only.When searchBarPlacement is .integrated or .integratedButton and a search controller is present, use this bar button item in the view controller’s toolbarItems to control the placement of the search bar among them when the search bar is appearing in the UIToolbar on iPhone.
Without this bar button item, the positioning for the search bar defaults to trailingmost for the UIToolbar case.
This bar button item will be ignored during toolbar layout if searchController is nil.
UIBarButtonItemGroup will throw an NSInvalidArgumentException when this bar button item is included in its initialization.
UINavigationItem will throw an NSInvalidArgumentException when this bar button item is included in leftBarButtonItems or rightBarButtonItems.
Sourcepub fn searchBarPlacementAllowsToolbarIntegration(&self) -> bool
pub fn searchBarPlacementAllowsToolbarIntegration(&self) -> bool
Defaults to YES
Set to NO to prevent the search bar from being placed among other UIToolbar items on iPhone
Sourcepub fn setSearchBarPlacementAllowsToolbarIntegration(
&self,
search_bar_placement_allows_toolbar_integration: bool,
)
pub fn setSearchBarPlacementAllowsToolbarIntegration( &self, search_bar_placement_allows_toolbar_integration: bool, )
Setter for searchBarPlacementAllowsToolbarIntegration.
Sourcepub fn searchBarPlacementAllowsExternalIntegration(&self) -> bool
pub fn searchBarPlacementAllowsExternalIntegration(&self) -> bool
AllowsExternalIntegration means that something at a higher scope may take the search bar and integrate it somewhere other than the navigation bar (or toolbar) directly associated with this navigation item.
On iOS 26, UISplitViewController uses this to allow Mac-like placement of the search bar on iPad.
Defaults to NO
Set to YES to allow the containing UISplitViewController to place the search bar in the navigation bar for the trailingmost column independent of the column used for this view controller.
Ignored when searchController is nil, when searchBarPlacement is .stacked, or when not contained in a UISplitViewController.
When the top view controller’s navigation item has this property set to YES in more than one column at the same time, only one will be respected; the columns are checked in order of .inspector, .secondary, .supplementary, .primary
If the search bar has a scope bar, the scope bar will not be moved into a different column.
Sourcepub fn setSearchBarPlacementAllowsExternalIntegration(
&self,
search_bar_placement_allows_external_integration: bool,
)
pub fn setSearchBarPlacementAllowsExternalIntegration( &self, search_bar_placement_allows_external_integration: bool, )
Setter for searchBarPlacementAllowsExternalIntegration.
Sourcepub fn standardAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn standardAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>
UIBarAppearance and UINavigationBarAppearance only.When set and this item is topmost, overrides the hosting navigation bar’s standardAppearance. See UINavigationBar.standardAppearance for further details.
Sourcepub fn setStandardAppearance(
&self,
standard_appearance: Option<&UINavigationBarAppearance>,
)
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn setStandardAppearance( &self, standard_appearance: Option<&UINavigationBarAppearance>, )
UIBarAppearance and UINavigationBarAppearance only.Setter for standardAppearance.
This is copied when set.
Sourcepub fn compactAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn compactAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>
UIBarAppearance and UINavigationBarAppearance only.When set and this item is topmost, overrides the hosting navigation bar’s compactAppearance. See UINavigationBar.compactAppearance for further details.
Sourcepub fn setCompactAppearance(
&self,
compact_appearance: Option<&UINavigationBarAppearance>,
)
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn setCompactAppearance( &self, compact_appearance: Option<&UINavigationBarAppearance>, )
UIBarAppearance and UINavigationBarAppearance only.Setter for compactAppearance.
This is copied when set.
Sourcepub fn scrollEdgeAppearance(
&self,
) -> Option<Retained<UINavigationBarAppearance>>
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn scrollEdgeAppearance( &self, ) -> Option<Retained<UINavigationBarAppearance>>
UIBarAppearance and UINavigationBarAppearance only.When set and this item is topmost, overrides the hosting navigation bar’s scrollEdgeAppearance. See UINavigationBar.scrollEdgeAppearance for further details.
Sourcepub fn setScrollEdgeAppearance(
&self,
scroll_edge_appearance: Option<&UINavigationBarAppearance>,
)
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn setScrollEdgeAppearance( &self, scroll_edge_appearance: Option<&UINavigationBarAppearance>, )
UIBarAppearance and UINavigationBarAppearance only.Setter for scrollEdgeAppearance.
This is copied when set.
Sourcepub fn compactScrollEdgeAppearance(
&self,
) -> Option<Retained<UINavigationBarAppearance>>
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn compactScrollEdgeAppearance( &self, ) -> Option<Retained<UINavigationBarAppearance>>
UIBarAppearance and UINavigationBarAppearance only.When set and this item is topmost, overrides the hosting navigation bar’s compactScrollEdgeAppearance. See UINavigationBar.h for further details.
Sourcepub fn setCompactScrollEdgeAppearance(
&self,
compact_scroll_edge_appearance: Option<&UINavigationBarAppearance>,
)
Available on crate features UIBarAppearance and UINavigationBarAppearance only.
pub fn setCompactScrollEdgeAppearance( &self, compact_scroll_edge_appearance: Option<&UINavigationBarAppearance>, )
UIBarAppearance and UINavigationBarAppearance only.Setter for compactScrollEdgeAppearance.
This is copied when set.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
Available on crate feature UIIndirectScribbleInteraction only.
pub fn class(&self) -> &'static AnyClass
UIIndirectScribbleInteraction only.Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.Available on crate feature UIIndirectScribbleInteraction only.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.UIIndirectScribbleInteraction only.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Available on crate feature UIIndirectScribbleInteraction only.
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
UIIndirectScribbleInteraction only.Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§const NAME: &'static str = "UINavigationItem"
const NAME: &'static str = "UINavigationItem"
Source§type ThreadKind = dyn MainThreadOnly
type ThreadKind = dyn MainThreadOnly
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_refSource§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<'a, T> MainThreadOnly for T
impl<'a, T> MainThreadOnly for T
Source§fn mtm(&self) -> MainThreadMarker
fn mtm(&self) -> MainThreadMarker
MainThreadMarker from the main-thread-only object. Read more