1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct UINavigationItemLargeTitleDisplayMode(pub NSInteger);
15impl UINavigationItemLargeTitleDisplayMode {
16 #[doc(alias = "UINavigationItemLargeTitleDisplayModeAutomatic")]
18 pub const Automatic: Self = Self(0);
19 #[doc(alias = "UINavigationItemLargeTitleDisplayModeAlways")]
21 pub const Always: Self = Self(1);
22 #[doc(alias = "UINavigationItemLargeTitleDisplayModeNever")]
24 pub const Never: Self = Self(2);
25 #[doc(alias = "UINavigationItemLargeTitleDisplayModeInline")]
29 pub const Inline: Self = Self(3);
30}
31
32unsafe impl Encode for UINavigationItemLargeTitleDisplayMode {
33 const ENCODING: Encoding = NSInteger::ENCODING;
34}
35
36unsafe impl RefEncode for UINavigationItemLargeTitleDisplayMode {
37 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
38}
39
40#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct UINavigationItemBackButtonDisplayMode(pub NSInteger);
45impl UINavigationItemBackButtonDisplayMode {
46 #[doc(alias = "UINavigationItemBackButtonDisplayModeDefault")]
48 pub const Default: Self = Self(0);
49 #[doc(alias = "UINavigationItemBackButtonDisplayModeGeneric")]
51 pub const Generic: Self = Self(1);
52 #[doc(alias = "UINavigationItemBackButtonDisplayModeMinimal")]
54 pub const Minimal: Self = Self(2);
55}
56
57unsafe impl Encode for UINavigationItemBackButtonDisplayMode {
58 const ENCODING: Encoding = NSInteger::ENCODING;
59}
60
61unsafe impl RefEncode for UINavigationItemBackButtonDisplayMode {
62 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
63}
64
65#[repr(transparent)]
68#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
69pub struct UINavigationItemSearchBarPlacement(pub NSInteger);
70impl UINavigationItemSearchBarPlacement {
71 #[doc(alias = "UINavigationItemSearchBarPlacementAutomatic")]
73 pub const Automatic: Self = Self(0);
74 #[doc(alias = "UINavigationItemSearchBarPlacementIntegrated")]
77 pub const Integrated: Self = Self(1);
78 #[doc(alias = "UINavigationItemSearchBarPlacementStacked")]
80 pub const Stacked: Self = Self(2);
81 #[doc(alias = "UINavigationItemSearchBarPlacementIntegratedCentered")]
84 pub const IntegratedCentered: Self = Self(3);
85 #[doc(alias = "UINavigationItemSearchBarPlacementIntegratedButton")]
87 pub const IntegratedButton: Self = Self(4);
88 #[doc(alias = "UINavigationItemSearchBarPlacementInline")]
90 #[deprecated]
91 pub const Inline: Self = Self(UINavigationItemSearchBarPlacement::Integrated.0);
92}
93
94unsafe impl Encode for UINavigationItemSearchBarPlacement {
95 const ENCODING: Encoding = NSInteger::ENCODING;
96}
97
98unsafe impl RefEncode for UINavigationItemSearchBarPlacement {
99 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
100}
101
102#[repr(transparent)]
105#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
106pub struct UINavigationItemStyle(pub NSInteger);
107impl UINavigationItemStyle {
108 #[doc(alias = "UINavigationItemStyleNavigator")]
110 pub const Navigator: Self = Self(0);
111 #[doc(alias = "UINavigationItemStyleBrowser")]
113 pub const Browser: Self = Self(1);
114 #[doc(alias = "UINavigationItemStyleEditor")]
116 pub const Editor: Self = Self(2);
117}
118
119unsafe impl Encode for UINavigationItemStyle {
120 const ENCODING: Encoding = NSInteger::ENCODING;
121}
122
123unsafe impl RefEncode for UINavigationItemStyle {
124 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
125}
126
127extern_protocol!(
128 pub unsafe trait UINavigationItemRenameDelegate:
130 NSObjectProtocol + MainThreadOnly
131 {
132 #[unsafe(method(navigationItem:didEndRenamingWithTitle:))]
135 #[unsafe(method_family = none)]
136 fn navigationItem_didEndRenamingWithTitle(
137 &self,
138 navigation_item: &UINavigationItem,
139 title: &NSString,
140 );
141
142 #[optional]
145 #[unsafe(method(navigationItemShouldBeginRenaming:))]
146 #[unsafe(method_family = none)]
147 fn navigationItemShouldBeginRenaming(&self, navigation_item: &UINavigationItem) -> bool;
148
149 #[optional]
156 #[unsafe(method(navigationItem:willBeginRenamingWithSuggestedTitle:selectedRange:))]
157 #[unsafe(method_family = none)]
158 unsafe fn navigationItem_willBeginRenamingWithSuggestedTitle_selectedRange(
159 &self,
160 navigation_item: &UINavigationItem,
161 title: &NSString,
162 selected_range: NonNull<NSRange>,
163 ) -> Retained<NSString>;
164
165 #[optional]
169 #[unsafe(method(navigationItem:shouldEndRenamingWithTitle:))]
170 #[unsafe(method_family = none)]
171 fn navigationItem_shouldEndRenamingWithTitle(
172 &self,
173 navigation_item: &UINavigationItem,
174 title: &NSString,
175 ) -> bool;
176 }
177);
178
179extern_class!(
180 #[unsafe(super(NSObject))]
182 #[thread_kind = MainThreadOnly]
183 #[derive(Debug, PartialEq, Eq, Hash)]
184 pub struct UINavigationItem;
185);
186
187extern_conformance!(
188 unsafe impl NSCoding for UINavigationItem {}
189);
190
191extern_conformance!(
192 unsafe impl NSObjectProtocol for UINavigationItem {}
193);
194
195impl UINavigationItem {
196 extern_methods!(
197 #[unsafe(method(initWithTitle:))]
198 #[unsafe(method_family = init)]
199 pub fn initWithTitle(this: Allocated<Self>, title: &NSString) -> Retained<Self>;
200
201 #[unsafe(method(initWithCoder:))]
205 #[unsafe(method_family = init)]
206 pub unsafe fn initWithCoder(
207 this: Allocated<Self>,
208 coder: &NSCoder,
209 ) -> Option<Retained<Self>>;
210
211 #[unsafe(method(title))]
213 #[unsafe(method_family = none)]
214 pub fn title(&self) -> Option<Retained<NSString>>;
215
216 #[unsafe(method(setTitle:))]
220 #[unsafe(method_family = none)]
221 pub fn setTitle(&self, title: Option<&NSString>);
222
223 #[unsafe(method(attributedTitle))]
227 #[unsafe(method_family = none)]
228 pub fn attributedTitle(&self) -> Option<Retained<NSAttributedString>>;
229
230 #[unsafe(method(setAttributedTitle:))]
234 #[unsafe(method_family = none)]
235 pub fn setAttributedTitle(&self, attributed_title: Option<&NSAttributedString>);
236
237 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
238 #[unsafe(method(titleView))]
240 #[unsafe(method_family = none)]
241 pub fn titleView(&self) -> Option<Retained<UIView>>;
242
243 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
244 #[unsafe(method(setTitleView:))]
246 #[unsafe(method_family = none)]
247 pub fn setTitleView(&self, title_view: Option<&UIView>);
248
249 #[unsafe(method(subtitle))]
255 #[unsafe(method_family = none)]
256 pub fn subtitle(&self) -> Option<Retained<NSString>>;
257
258 #[unsafe(method(setSubtitle:))]
262 #[unsafe(method_family = none)]
263 pub fn setSubtitle(&self, subtitle: Option<&NSString>);
264
265 #[unsafe(method(attributedSubtitle))]
271 #[unsafe(method_family = none)]
272 pub fn attributedSubtitle(&self) -> Option<Retained<NSAttributedString>>;
273
274 #[unsafe(method(setAttributedSubtitle:))]
278 #[unsafe(method_family = none)]
279 pub fn setAttributedSubtitle(&self, attributed_subtitle: Option<&NSAttributedString>);
280
281 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
282 #[unsafe(method(subtitleView))]
288 #[unsafe(method_family = none)]
289 pub fn subtitleView(&self) -> Option<Retained<UIView>>;
290
291 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
292 #[unsafe(method(setSubtitleView:))]
296 #[unsafe(method_family = none)]
297 pub fn setSubtitleView(&self, subtitle_view: Option<&UIView>);
298
299 #[unsafe(method(largeTitle))]
303 #[unsafe(method_family = none)]
304 pub fn largeTitle(&self) -> Option<Retained<NSString>>;
305
306 #[unsafe(method(setLargeTitle:))]
310 #[unsafe(method_family = none)]
311 pub fn setLargeTitle(&self, large_title: Option<&NSString>);
312
313 #[unsafe(method(largeSubtitle))]
317 #[unsafe(method_family = none)]
318 pub fn largeSubtitle(&self) -> Option<Retained<NSString>>;
319
320 #[unsafe(method(setLargeSubtitle:))]
324 #[unsafe(method_family = none)]
325 pub fn setLargeSubtitle(&self, large_subtitle: Option<&NSString>);
326
327 #[unsafe(method(largeAttributedSubtitle))]
332 #[unsafe(method_family = none)]
333 pub fn largeAttributedSubtitle(&self) -> Option<Retained<NSAttributedString>>;
334
335 #[unsafe(method(setLargeAttributedSubtitle:))]
339 #[unsafe(method_family = none)]
340 pub fn setLargeAttributedSubtitle(
341 &self,
342 large_attributed_subtitle: Option<&NSAttributedString>,
343 );
344
345 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
346 #[unsafe(method(largeSubtitleView))]
352 #[unsafe(method_family = none)]
353 pub fn largeSubtitleView(&self) -> Option<Retained<UIView>>;
354
355 #[cfg(all(feature = "UIResponder", feature = "UIView"))]
356 #[unsafe(method(setLargeSubtitleView:))]
358 #[unsafe(method_family = none)]
359 pub fn setLargeSubtitleView(&self, large_subtitle_view: Option<&UIView>);
360
361 #[unsafe(method(prompt))]
363 #[unsafe(method_family = none)]
364 pub fn prompt(&self) -> Option<Retained<NSString>>;
365
366 #[unsafe(method(setPrompt:))]
370 #[unsafe(method_family = none)]
371 pub fn setPrompt(&self, prompt: Option<&NSString>);
372
373 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
374 #[unsafe(method(backBarButtonItem))]
376 #[unsafe(method_family = none)]
377 pub fn backBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>;
378
379 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
380 #[unsafe(method(setBackBarButtonItem:))]
382 #[unsafe(method_family = none)]
383 pub fn setBackBarButtonItem(&self, back_bar_button_item: Option<&UIBarButtonItem>);
384
385 #[unsafe(method(backButtonTitle))]
387 #[unsafe(method_family = none)]
388 pub fn backButtonTitle(&self) -> Option<Retained<NSString>>;
389
390 #[unsafe(method(setBackButtonTitle:))]
394 #[unsafe(method_family = none)]
395 pub fn setBackButtonTitle(&self, back_button_title: Option<&NSString>);
396
397 #[unsafe(method(hidesBackButton))]
399 #[unsafe(method_family = none)]
400 pub fn hidesBackButton(&self) -> bool;
401
402 #[unsafe(method(setHidesBackButton:))]
404 #[unsafe(method_family = none)]
405 pub fn setHidesBackButton(&self, hides_back_button: bool);
406
407 #[unsafe(method(setHidesBackButton:animated:))]
408 #[unsafe(method_family = none)]
409 pub fn setHidesBackButton_animated(&self, hides_back_button: bool, animated: bool);
410
411 #[unsafe(method(backButtonDisplayMode))]
413 #[unsafe(method_family = none)]
414 pub fn backButtonDisplayMode(&self) -> UINavigationItemBackButtonDisplayMode;
415
416 #[unsafe(method(setBackButtonDisplayMode:))]
418 #[unsafe(method_family = none)]
419 pub fn setBackButtonDisplayMode(
420 &self,
421 back_button_display_mode: UINavigationItemBackButtonDisplayMode,
422 );
423
424 #[cfg(all(feature = "UIAction", feature = "UIMenuElement"))]
425 #[unsafe(method(backAction))]
427 #[unsafe(method_family = none)]
428 pub fn backAction(&self) -> Option<Retained<UIAction>>;
429
430 #[cfg(all(feature = "UIAction", feature = "UIMenuElement"))]
431 #[unsafe(method(setBackAction:))]
435 #[unsafe(method_family = none)]
436 pub fn setBackAction(&self, back_action: Option<&UIAction>);
437
438 #[cfg(all(feature = "UIMenu", feature = "UIMenuElement", feature = "block2"))]
439 #[unsafe(method(titleMenuProvider))]
445 #[unsafe(method_family = none)]
446 pub unsafe fn titleMenuProvider(
447 &self,
448 ) -> *mut block2::DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>;
449
450 #[cfg(all(feature = "UIMenu", feature = "UIMenuElement", feature = "block2"))]
451 #[unsafe(method(setTitleMenuProvider:))]
459 #[unsafe(method_family = none)]
460 pub unsafe fn setTitleMenuProvider(
461 &self,
462 title_menu_provider: Option<
463 &block2::DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> *mut UIMenu>,
464 >,
465 );
466
467 #[unsafe(method(renameDelegate))]
470 #[unsafe(method_family = none)]
471 pub fn renameDelegate(
472 &self,
473 ) -> Option<Retained<ProtocolObject<dyn UINavigationItemRenameDelegate>>>;
474
475 #[unsafe(method(setRenameDelegate:))]
479 #[unsafe(method_family = none)]
480 pub fn setRenameDelegate(
481 &self,
482 rename_delegate: Option<&ProtocolObject<dyn UINavigationItemRenameDelegate>>,
483 );
484
485 #[cfg(feature = "UIDocumentProperties")]
486 #[unsafe(method(documentProperties))]
488 #[unsafe(method_family = none)]
489 pub fn documentProperties(&self) -> Option<Retained<UIDocumentProperties>>;
490
491 #[cfg(feature = "UIDocumentProperties")]
492 #[unsafe(method(setDocumentProperties:))]
494 #[unsafe(method_family = none)]
495 pub fn setDocumentProperties(&self, document_properties: Option<&UIDocumentProperties>);
496
497 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
498 #[unsafe(method(leftBarButtonItems))]
499 #[unsafe(method_family = none)]
500 pub fn leftBarButtonItems(&self) -> Option<Retained<NSArray<UIBarButtonItem>>>;
501
502 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
503 #[unsafe(method(setLeftBarButtonItems:))]
507 #[unsafe(method_family = none)]
508 pub fn setLeftBarButtonItems(
509 &self,
510 left_bar_button_items: Option<&NSArray<UIBarButtonItem>>,
511 );
512
513 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
514 #[unsafe(method(rightBarButtonItems))]
515 #[unsafe(method_family = none)]
516 pub fn rightBarButtonItems(&self) -> Option<Retained<NSArray<UIBarButtonItem>>>;
517
518 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
519 #[unsafe(method(setRightBarButtonItems:))]
523 #[unsafe(method_family = none)]
524 pub fn setRightBarButtonItems(
525 &self,
526 right_bar_button_items: Option<&NSArray<UIBarButtonItem>>,
527 );
528
529 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
530 #[unsafe(method(setLeftBarButtonItems:animated:))]
531 #[unsafe(method_family = none)]
532 pub fn setLeftBarButtonItems_animated(
533 &self,
534 items: Option<&NSArray<UIBarButtonItem>>,
535 animated: bool,
536 );
537
538 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
539 #[unsafe(method(setRightBarButtonItems:animated:))]
540 #[unsafe(method_family = none)]
541 pub fn setRightBarButtonItems_animated(
542 &self,
543 items: Option<&NSArray<UIBarButtonItem>>,
544 animated: bool,
545 );
546
547 #[unsafe(method(leftItemsSupplementBackButton))]
548 #[unsafe(method_family = none)]
549 pub fn leftItemsSupplementBackButton(&self) -> bool;
550
551 #[unsafe(method(setLeftItemsSupplementBackButton:))]
553 #[unsafe(method_family = none)]
554 pub fn setLeftItemsSupplementBackButton(&self, left_items_supplement_back_button: bool);
555
556 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
557 #[unsafe(method(leftBarButtonItem))]
559 #[unsafe(method_family = none)]
560 pub fn leftBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>;
561
562 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
563 #[unsafe(method(setLeftBarButtonItem:))]
565 #[unsafe(method_family = none)]
566 pub fn setLeftBarButtonItem(&self, left_bar_button_item: Option<&UIBarButtonItem>);
567
568 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
569 #[unsafe(method(rightBarButtonItem))]
570 #[unsafe(method_family = none)]
571 pub fn rightBarButtonItem(&self) -> Option<Retained<UIBarButtonItem>>;
572
573 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
574 #[unsafe(method(setRightBarButtonItem:))]
576 #[unsafe(method_family = none)]
577 pub fn setRightBarButtonItem(&self, right_bar_button_item: Option<&UIBarButtonItem>);
578
579 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
580 #[unsafe(method(setLeftBarButtonItem:animated:))]
581 #[unsafe(method_family = none)]
582 pub fn setLeftBarButtonItem_animated(&self, item: Option<&UIBarButtonItem>, animated: bool);
583
584 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
585 #[unsafe(method(setRightBarButtonItem:animated:))]
586 #[unsafe(method_family = none)]
587 pub fn setRightBarButtonItem_animated(
588 &self,
589 item: Option<&UIBarButtonItem>,
590 animated: bool,
591 );
592
593 #[unsafe(method(customizationIdentifier))]
597 #[unsafe(method_family = none)]
598 pub fn customizationIdentifier(&self) -> Option<Retained<NSString>>;
599
600 #[unsafe(method(setCustomizationIdentifier:))]
604 #[unsafe(method_family = none)]
605 pub fn setCustomizationIdentifier(&self, customization_identifier: Option<&NSString>);
606
607 #[cfg(feature = "UIBarButtonItemGroup")]
608 #[unsafe(method(leadingItemGroups))]
610 #[unsafe(method_family = none)]
611 pub fn leadingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>;
612
613 #[cfg(feature = "UIBarButtonItemGroup")]
614 #[unsafe(method(setLeadingItemGroups:))]
618 #[unsafe(method_family = none)]
619 pub fn setLeadingItemGroups(&self, leading_item_groups: &NSArray<UIBarButtonItemGroup>);
620
621 #[cfg(feature = "UIBarButtonItemGroup")]
622 #[unsafe(method(centerItemGroups))]
624 #[unsafe(method_family = none)]
625 pub fn centerItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>;
626
627 #[cfg(feature = "UIBarButtonItemGroup")]
628 #[unsafe(method(setCenterItemGroups:))]
632 #[unsafe(method_family = none)]
633 pub fn setCenterItemGroups(&self, center_item_groups: &NSArray<UIBarButtonItemGroup>);
634
635 #[cfg(feature = "UIBarButtonItemGroup")]
636 #[unsafe(method(trailingItemGroups))]
638 #[unsafe(method_family = none)]
639 pub fn trailingItemGroups(&self) -> Retained<NSArray<UIBarButtonItemGroup>>;
640
641 #[cfg(feature = "UIBarButtonItemGroup")]
642 #[unsafe(method(setTrailingItemGroups:))]
646 #[unsafe(method_family = none)]
647 pub fn setTrailingItemGroups(&self, trailing_item_groups: &NSArray<UIBarButtonItemGroup>);
648
649 #[cfg(feature = "UIBarButtonItemGroup")]
650 #[unsafe(method(pinnedTrailingGroup))]
654 #[unsafe(method_family = none)]
655 pub fn pinnedTrailingGroup(&self) -> Option<Retained<UIBarButtonItemGroup>>;
656
657 #[cfg(feature = "UIBarButtonItemGroup")]
658 #[unsafe(method(setPinnedTrailingGroup:))]
660 #[unsafe(method_family = none)]
661 pub fn setPinnedTrailingGroup(&self, pinned_trailing_group: Option<&UIBarButtonItemGroup>);
662
663 #[cfg(all(feature = "UIDeferredMenuElement", feature = "UIMenuElement"))]
664 #[unsafe(method(additionalOverflowItems))]
666 #[unsafe(method_family = none)]
667 pub fn additionalOverflowItems(&self) -> Option<Retained<UIDeferredMenuElement>>;
668
669 #[cfg(all(feature = "UIDeferredMenuElement", feature = "UIMenuElement"))]
670 #[unsafe(method(setAdditionalOverflowItems:))]
672 #[unsafe(method_family = none)]
673 pub fn setAdditionalOverflowItems(
674 &self,
675 additional_overflow_items: Option<&UIDeferredMenuElement>,
676 );
677
678 #[cfg(feature = "UIPopoverPresentationControllerSourceItem")]
679 #[unsafe(method(overflowPresentationSource))]
681 #[unsafe(method_family = none)]
682 pub fn overflowPresentationSource(
683 &self,
684 ) -> Option<Retained<ProtocolObject<dyn UIPopoverPresentationControllerSourceItem>>>;
685
686 #[unsafe(method(largeTitleDisplayMode))]
688 #[unsafe(method_family = none)]
689 pub fn largeTitleDisplayMode(&self) -> UINavigationItemLargeTitleDisplayMode;
690
691 #[unsafe(method(setLargeTitleDisplayMode:))]
693 #[unsafe(method_family = none)]
694 pub fn setLargeTitleDisplayMode(
695 &self,
696 large_title_display_mode: UINavigationItemLargeTitleDisplayMode,
697 );
698
699 #[unsafe(method(style))]
701 #[unsafe(method_family = none)]
702 pub fn style(&self) -> UINavigationItemStyle;
703
704 #[unsafe(method(setStyle:))]
706 #[unsafe(method_family = none)]
707 pub fn setStyle(&self, style: UINavigationItemStyle);
708
709 #[cfg(all(
710 feature = "UIResponder",
711 feature = "UISearchController",
712 feature = "UIViewController"
713 ))]
714 #[unsafe(method(searchController))]
716 #[unsafe(method_family = none)]
717 pub fn searchController(&self) -> Option<Retained<UISearchController>>;
718
719 #[cfg(all(
720 feature = "UIResponder",
721 feature = "UISearchController",
722 feature = "UIViewController"
723 ))]
724 #[unsafe(method(setSearchController:))]
726 #[unsafe(method_family = none)]
727 pub fn setSearchController(&self, search_controller: Option<&UISearchController>);
728
729 #[unsafe(method(hidesSearchBarWhenScrolling))]
732 #[unsafe(method_family = none)]
733 pub fn hidesSearchBarWhenScrolling(&self) -> bool;
734
735 #[unsafe(method(setHidesSearchBarWhenScrolling:))]
737 #[unsafe(method_family = none)]
738 pub fn setHidesSearchBarWhenScrolling(&self, hides_search_bar_when_scrolling: bool);
739
740 #[unsafe(method(preferredSearchBarPlacement))]
742 #[unsafe(method_family = none)]
743 pub fn preferredSearchBarPlacement(&self) -> UINavigationItemSearchBarPlacement;
744
745 #[unsafe(method(setPreferredSearchBarPlacement:))]
747 #[unsafe(method_family = none)]
748 pub fn setPreferredSearchBarPlacement(
749 &self,
750 preferred_search_bar_placement: UINavigationItemSearchBarPlacement,
751 );
752
753 #[unsafe(method(searchBarPlacement))]
755 #[unsafe(method_family = none)]
756 pub fn searchBarPlacement(&self) -> UINavigationItemSearchBarPlacement;
757
758 #[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
759 #[unsafe(method(searchBarPlacementBarButtonItem))]
765 #[unsafe(method_family = none)]
766 pub fn searchBarPlacementBarButtonItem(&self) -> Retained<UIBarButtonItem>;
767
768 #[unsafe(method(searchBarPlacementAllowsToolbarIntegration))]
771 #[unsafe(method_family = none)]
772 pub fn searchBarPlacementAllowsToolbarIntegration(&self) -> bool;
773
774 #[unsafe(method(setSearchBarPlacementAllowsToolbarIntegration:))]
776 #[unsafe(method_family = none)]
777 pub fn setSearchBarPlacementAllowsToolbarIntegration(
778 &self,
779 search_bar_placement_allows_toolbar_integration: bool,
780 );
781
782 #[unsafe(method(searchBarPlacementAllowsExternalIntegration))]
790 #[unsafe(method_family = none)]
791 pub fn searchBarPlacementAllowsExternalIntegration(&self) -> bool;
792
793 #[unsafe(method(setSearchBarPlacementAllowsExternalIntegration:))]
795 #[unsafe(method_family = none)]
796 pub fn setSearchBarPlacementAllowsExternalIntegration(
797 &self,
798 search_bar_placement_allows_external_integration: bool,
799 );
800
801 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
802 #[unsafe(method(standardAppearance))]
804 #[unsafe(method_family = none)]
805 pub fn standardAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>;
806
807 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
808 #[unsafe(method(setStandardAppearance:))]
812 #[unsafe(method_family = none)]
813 pub fn setStandardAppearance(
814 &self,
815 standard_appearance: Option<&UINavigationBarAppearance>,
816 );
817
818 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
819 #[unsafe(method(compactAppearance))]
821 #[unsafe(method_family = none)]
822 pub fn compactAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>;
823
824 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
825 #[unsafe(method(setCompactAppearance:))]
829 #[unsafe(method_family = none)]
830 pub fn setCompactAppearance(&self, compact_appearance: Option<&UINavigationBarAppearance>);
831
832 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
833 #[unsafe(method(scrollEdgeAppearance))]
835 #[unsafe(method_family = none)]
836 pub fn scrollEdgeAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>;
837
838 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
839 #[unsafe(method(setScrollEdgeAppearance:))]
843 #[unsafe(method_family = none)]
844 pub fn setScrollEdgeAppearance(
845 &self,
846 scroll_edge_appearance: Option<&UINavigationBarAppearance>,
847 );
848
849 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
850 #[unsafe(method(compactScrollEdgeAppearance))]
852 #[unsafe(method_family = none)]
853 pub fn compactScrollEdgeAppearance(&self) -> Option<Retained<UINavigationBarAppearance>>;
854
855 #[cfg(all(feature = "UIBarAppearance", feature = "UINavigationBarAppearance"))]
856 #[unsafe(method(setCompactScrollEdgeAppearance:))]
860 #[unsafe(method_family = none)]
861 pub fn setCompactScrollEdgeAppearance(
862 &self,
863 compact_scroll_edge_appearance: Option<&UINavigationBarAppearance>,
864 );
865 );
866}
867
868impl UINavigationItem {
870 extern_methods!(
871 #[unsafe(method(init))]
872 #[unsafe(method_family = init)]
873 pub fn init(this: Allocated<Self>) -> Retained<Self>;
874
875 #[unsafe(method(new))]
876 #[unsafe(method_family = new)]
877 pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
878 );
879}