use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIModalTransitionStyle(pub NSInteger);
impl UIModalTransitionStyle {
#[doc(alias = "UIModalTransitionStyleCoverVertical")]
pub const CoverVertical: Self = Self(0);
#[doc(alias = "UIModalTransitionStyleFlipHorizontal")]
pub const FlipHorizontal: Self = Self(1);
#[doc(alias = "UIModalTransitionStyleCrossDissolve")]
pub const CrossDissolve: Self = Self(2);
#[doc(alias = "UIModalTransitionStylePartialCurl")]
pub const PartialCurl: Self = Self(3);
}
unsafe impl Encode for UIModalTransitionStyle {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIModalTransitionStyle {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIModalPresentationStyle(pub NSInteger);
impl UIModalPresentationStyle {
pub const UIModalPresentationFullScreen: Self = Self(0);
pub const UIModalPresentationPageSheet: Self = Self(1);
pub const UIModalPresentationFormSheet: Self = Self(2);
pub const UIModalPresentationCurrentContext: Self = Self(3);
pub const UIModalPresentationCustom: Self = Self(4);
pub const UIModalPresentationOverFullScreen: Self = Self(5);
pub const UIModalPresentationOverCurrentContext: Self = Self(6);
pub const UIModalPresentationPopover: Self = Self(7);
pub const UIModalPresentationBlurOverFullScreen: Self = Self(8);
pub const UIModalPresentationNone: Self = Self(-1);
pub const UIModalPresentationAutomatic: Self = Self(-2);
}
unsafe impl Encode for UIModalPresentationStyle {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIModalPresentationStyle {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_protocol!(
pub unsafe trait UIContentContainer: NSObjectProtocol + IsMainThreadOnly {
#[method(preferredContentSize)]
unsafe fn preferredContentSize(&self) -> CGSize;
#[method(preferredContentSizeDidChangeForChildContentContainer:)]
unsafe fn preferredContentSizeDidChangeForChildContentContainer(
&self,
container: &ProtocolObject<dyn UIContentContainer>,
);
#[method(systemLayoutFittingSizeDidChangeForChildContentContainer:)]
unsafe fn systemLayoutFittingSizeDidChangeForChildContentContainer(
&self,
container: &ProtocolObject<dyn UIContentContainer>,
);
#[method(sizeForChildContentContainer:withParentContainerSize:)]
unsafe fn sizeForChildContentContainer_withParentContainerSize(
&self,
container: &ProtocolObject<dyn UIContentContainer>,
parent_size: CGSize,
) -> CGSize;
#[cfg(feature = "UIViewControllerTransitionCoordinator")]
#[method(viewWillTransitionToSize:withTransitionCoordinator:)]
unsafe fn viewWillTransitionToSize_withTransitionCoordinator(
&self,
size: CGSize,
coordinator: &ProtocolObject<dyn UIViewControllerTransitionCoordinator>,
);
#[cfg(all(
feature = "UITraitCollection",
feature = "UIViewControllerTransitionCoordinator"
))]
#[method(willTransitionToTraitCollection:withTransitionCoordinator:)]
unsafe fn willTransitionToTraitCollection_withTransitionCoordinator(
&self,
new_collection: &UITraitCollection,
coordinator: &ProtocolObject<dyn UIViewControllerTransitionCoordinator>,
);
}
unsafe impl ProtocolType for dyn UIContentContainer {}
);
extern "C" {
pub static UIViewControllerShowDetailTargetDidChangeNotification: &'static NSNotificationName;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "UIResponder")]
pub struct UIViewController;
#[cfg(feature = "UIResponder")]
unsafe impl ClassType for UIViewController {
#[inherits(NSObject)]
type Super = UIResponder;
type Mutability = MainThreadOnly;
}
);
#[cfg(feature = "UIResponder")]
unsafe impl NSCoding for UIViewController {}
#[cfg(feature = "UIResponder")]
unsafe impl NSObjectProtocol for UIViewController {}
#[cfg(all(feature = "UIAppearance", feature = "UIResponder"))]
unsafe impl UIAppearanceContainer for UIViewController {}
#[cfg(feature = "UIResponder")]
unsafe impl UIContentContainer for UIViewController {}
#[cfg(all(feature = "UIFocus", feature = "UIResponder"))]
unsafe impl UIFocusEnvironment for UIViewController {}
#[cfg(feature = "UIResponder")]
unsafe impl UIResponderStandardEditActions for UIViewController {}
#[cfg(all(feature = "UIResponder", feature = "UITraitCollection"))]
unsafe impl UITraitEnvironment for UIViewController {}
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name_or_nil: Option<&NSString>,
nib_bundle_or_nil: Option<&NSBundle>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[cfg(feature = "UIView")]
#[method_id(@__retain_semantics Other view)]
pub fn view(&self) -> Option<Retained<UIView>>;
#[cfg(feature = "UIView")]
#[method(setView:)]
pub fn setView(&self, view: Option<&UIView>);
#[method(loadView)]
pub unsafe fn loadView(&self);
#[method(loadViewIfNeeded)]
pub unsafe fn loadViewIfNeeded(&self);
#[cfg(feature = "UIView")]
#[method_id(@__retain_semantics Other viewIfLoaded)]
pub unsafe fn viewIfLoaded(&self) -> Option<Retained<UIView>>;
#[deprecated]
#[method(viewWillUnload)]
pub unsafe fn viewWillUnload(&self);
#[deprecated]
#[method(viewDidUnload)]
pub unsafe fn viewDidUnload(&self);
#[method(viewDidLoad)]
pub unsafe fn viewDidLoad(&self);
#[method(isViewLoaded)]
pub unsafe fn isViewLoaded(&self) -> bool;
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other nibName)]
pub unsafe fn nibName(&self) -> Option<Retained<NSString>>;
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other nibBundle)]
pub unsafe fn nibBundle(&self) -> Option<Retained<NSBundle>>;
#[cfg(feature = "UIStoryboard")]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other storyboard)]
pub unsafe fn storyboard(&self) -> Option<Retained<UIStoryboard>>;
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method(performSegueWithIdentifier:sender:)]
pub unsafe fn performSegueWithIdentifier_sender(
&self,
identifier: &NSString,
sender: Option<&AnyObject>,
);
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method(shouldPerformSegueWithIdentifier:sender:)]
pub unsafe fn shouldPerformSegueWithIdentifier_sender(
&self,
identifier: &NSString,
sender: Option<&AnyObject>,
) -> bool;
#[cfg(feature = "UIStoryboardSegue")]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method(prepareForSegue:sender:)]
pub unsafe fn prepareForSegue_sender(
&self,
segue: &UIStoryboardSegue,
sender: Option<&AnyObject>,
);
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method(canPerformUnwindSegueAction:fromViewController:sender:)]
pub unsafe fn canPerformUnwindSegueAction_fromViewController_sender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: Option<&AnyObject>,
) -> bool;
#[deprecated]
#[method(canPerformUnwindSegueAction:fromViewController:withSender:)]
pub unsafe fn canPerformUnwindSegueAction_fromViewController_withSender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: &AnyObject,
) -> bool;
#[cfg(feature = "UIStoryboardSegue")]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other allowedChildViewControllersForUnwindingFromSource:)]
pub unsafe fn allowedChildViewControllersForUnwindingFromSource(
&self,
source: &UIStoryboardUnwindSegueSource,
) -> Retained<NSArray<UIViewController>>;
#[cfg(feature = "UIStoryboardSegue")]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other childViewControllerContainingSegueSource:)]
pub unsafe fn childViewControllerContainingSegueSource(
&self,
source: &UIStoryboardUnwindSegueSource,
) -> Option<Retained<UIViewController>>;
#[deprecated]
#[method_id(@__retain_semantics Other viewControllerForUnwindSegueAction:fromViewController:withSender:)]
pub unsafe fn viewControllerForUnwindSegueAction_fromViewController_withSender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: Option<&AnyObject>,
) -> Option<Retained<UIViewController>>;
#[cfg(feature = "UIStoryboardSegue")]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method(unwindForSegue:towardsViewController:)]
pub unsafe fn unwindForSegue_towardsViewController(
&self,
unwind_segue: &UIStoryboardSegue,
subsequent_vc: &UIViewController,
);
#[cfg(feature = "UIStoryboardSegue")]
#[deprecated]
#[method_id(@__retain_semantics Other segueForUnwindingToViewController:fromViewController:identifier:)]
pub unsafe fn segueForUnwindingToViewController_fromViewController_identifier(
&self,
to_view_controller: &UIViewController,
from_view_controller: &UIViewController,
identifier: Option<&NSString>,
) -> Option<Retained<UIStoryboardSegue>>;
#[method(viewWillAppear:)]
pub unsafe fn viewWillAppear(&self, animated: bool);
#[method(viewIsAppearing:)]
pub unsafe fn viewIsAppearing(&self, animated: bool);
#[method(viewDidAppear:)]
pub unsafe fn viewDidAppear(&self, animated: bool);
#[method(viewWillDisappear:)]
pub unsafe fn viewWillDisappear(&self, animated: bool);
#[method(viewDidDisappear:)]
pub unsafe fn viewDidDisappear(&self, animated: bool);
#[method(viewWillLayoutSubviews)]
pub unsafe fn viewWillLayoutSubviews(&self);
#[method(viewDidLayoutSubviews)]
pub unsafe fn viewDidLayoutSubviews(&self);
#[method_id(@__retain_semantics Other title)]
pub unsafe fn title(&self) -> Option<Retained<NSString>>;
#[method(setTitle:)]
pub unsafe fn setTitle(&self, title: Option<&NSString>);
#[method(didReceiveMemoryWarning)]
pub unsafe fn didReceiveMemoryWarning(&self);
#[method_id(@__retain_semantics Other parentViewController)]
pub unsafe fn parentViewController(&self) -> Option<Retained<UIViewController>>;
#[deprecated]
#[method_id(@__retain_semantics Other modalViewController)]
pub unsafe fn modalViewController(&self) -> Option<Retained<UIViewController>>;
#[method_id(@__retain_semantics Other presentedViewController)]
pub unsafe fn presentedViewController(&self) -> Option<Retained<UIViewController>>;
#[method_id(@__retain_semantics Other presentingViewController)]
pub unsafe fn presentingViewController(&self) -> Option<Retained<UIViewController>>;
#[method(definesPresentationContext)]
pub unsafe fn definesPresentationContext(&self) -> bool;
#[method(setDefinesPresentationContext:)]
pub unsafe fn setDefinesPresentationContext(&self, defines_presentation_context: bool);
#[method(providesPresentationContextTransitionStyle)]
pub unsafe fn providesPresentationContextTransitionStyle(&self) -> bool;
#[method(setProvidesPresentationContextTransitionStyle:)]
pub unsafe fn setProvidesPresentationContextTransitionStyle(
&self,
provides_presentation_context_transition_style: bool,
);
#[method(restoresFocusAfterTransition)]
pub unsafe fn restoresFocusAfterTransition(&self) -> bool;
#[method(setRestoresFocusAfterTransition:)]
pub unsafe fn setRestoresFocusAfterTransition(&self, restores_focus_after_transition: bool);
#[method_id(@__retain_semantics Other focusGroupIdentifier)]
pub unsafe fn focusGroupIdentifier(&self) -> Option<Retained<NSString>>;
#[method(setFocusGroupIdentifier:)]
pub unsafe fn setFocusGroupIdentifier(&self, focus_group_identifier: Option<&NSString>);
#[method_id(@__retain_semantics Other interactionActivityTrackingBaseName)]
pub unsafe fn interactionActivityTrackingBaseName(&self) -> Option<Retained<NSString>>;
#[method(setInteractionActivityTrackingBaseName:)]
pub unsafe fn setInteractionActivityTrackingBaseName(
&self,
interaction_activity_tracking_base_name: Option<&NSString>,
);
#[method(isBeingPresented)]
pub unsafe fn isBeingPresented(&self) -> bool;
#[method(isBeingDismissed)]
pub unsafe fn isBeingDismissed(&self) -> bool;
#[method(isMovingToParentViewController)]
pub unsafe fn isMovingToParentViewController(&self) -> bool;
#[method(isMovingFromParentViewController)]
pub unsafe fn isMovingFromParentViewController(&self) -> bool;
#[cfg(feature = "block2")]
#[method(presentViewController:animated:completion:)]
pub unsafe fn presentViewController_animated_completion(
&self,
view_controller_to_present: &UIViewController,
flag: bool,
completion: Option<&block2::Block<dyn Fn()>>,
);
#[cfg(feature = "block2")]
#[method(dismissViewControllerAnimated:completion:)]
pub unsafe fn dismissViewControllerAnimated_completion(
&self,
flag: bool,
completion: Option<&block2::Block<dyn Fn()>>,
);
#[deprecated]
#[method(presentModalViewController:animated:)]
pub unsafe fn presentModalViewController_animated(
&self,
modal_view_controller: &UIViewController,
animated: bool,
);
#[deprecated]
#[method(dismissModalViewControllerAnimated:)]
pub unsafe fn dismissModalViewControllerAnimated(&self, animated: bool);
#[method(modalTransitionStyle)]
pub unsafe fn modalTransitionStyle(&self) -> UIModalTransitionStyle;
#[method(setModalTransitionStyle:)]
pub unsafe fn setModalTransitionStyle(
&self,
modal_transition_style: UIModalTransitionStyle,
);
#[method(modalPresentationStyle)]
pub unsafe fn modalPresentationStyle(&self) -> UIModalPresentationStyle;
#[method(setModalPresentationStyle:)]
pub unsafe fn setModalPresentationStyle(
&self,
modal_presentation_style: UIModalPresentationStyle,
);
#[method(modalPresentationCapturesStatusBarAppearance)]
pub unsafe fn modalPresentationCapturesStatusBarAppearance(&self) -> bool;
#[method(setModalPresentationCapturesStatusBarAppearance:)]
pub unsafe fn setModalPresentationCapturesStatusBarAppearance(
&self,
modal_presentation_captures_status_bar_appearance: bool,
);
#[method(disablesAutomaticKeyboardDismissal)]
pub unsafe fn disablesAutomaticKeyboardDismissal(&self) -> bool;
#[deprecated]
#[method(wantsFullScreenLayout)]
pub unsafe fn wantsFullScreenLayout(&self) -> bool;
#[deprecated]
#[method(setWantsFullScreenLayout:)]
pub unsafe fn setWantsFullScreenLayout(&self, wants_full_screen_layout: bool);
#[cfg(feature = "UIGeometry")]
#[method(edgesForExtendedLayout)]
pub unsafe fn edgesForExtendedLayout(&self) -> UIRectEdge;
#[cfg(feature = "UIGeometry")]
#[method(setEdgesForExtendedLayout:)]
pub unsafe fn setEdgesForExtendedLayout(&self, edges_for_extended_layout: UIRectEdge);
#[method(extendedLayoutIncludesOpaqueBars)]
pub unsafe fn extendedLayoutIncludesOpaqueBars(&self) -> bool;
#[method(setExtendedLayoutIncludesOpaqueBars:)]
pub unsafe fn setExtendedLayoutIncludesOpaqueBars(
&self,
extended_layout_includes_opaque_bars: bool,
);
#[deprecated = "Use UIScrollView's contentInsetAdjustmentBehavior instead"]
#[method(automaticallyAdjustsScrollViewInsets)]
pub unsafe fn automaticallyAdjustsScrollViewInsets(&self) -> bool;
#[deprecated = "Use UIScrollView's contentInsetAdjustmentBehavior instead"]
#[method(setAutomaticallyAdjustsScrollViewInsets:)]
pub unsafe fn setAutomaticallyAdjustsScrollViewInsets(
&self,
automatically_adjusts_scroll_view_insets: bool,
);
#[cfg(all(feature = "UIGeometry", feature = "UIScrollView", feature = "UIView"))]
#[method(setContentScrollView:forEdge:)]
pub unsafe fn setContentScrollView_forEdge(
&self,
scroll_view: Option<&UIScrollView>,
edge: NSDirectionalRectEdge,
);
#[cfg(all(feature = "UIGeometry", feature = "UIScrollView", feature = "UIView"))]
#[method_id(@__retain_semantics Other contentScrollViewForEdge:)]
pub unsafe fn contentScrollViewForEdge(
&self,
edge: NSDirectionalRectEdge,
) -> Option<Retained<UIScrollView>>;
#[method(preferredContentSize)]
pub unsafe fn preferredContentSize(&self) -> CGSize;
#[method(setPreferredContentSize:)]
pub unsafe fn setPreferredContentSize(&self, preferred_content_size: CGSize);
#[cfg(feature = "UIApplication")]
#[deprecated = "Has no effect on visionOS"]
#[method(preferredStatusBarStyle)]
pub unsafe fn preferredStatusBarStyle(&self) -> UIStatusBarStyle;
#[deprecated = "Has no effect on visionOS"]
#[method(prefersStatusBarHidden)]
pub unsafe fn prefersStatusBarHidden(&self) -> bool;
#[cfg(feature = "UIApplication")]
#[deprecated = "Has no effect on visionOS"]
#[method(preferredStatusBarUpdateAnimation)]
pub unsafe fn preferredStatusBarUpdateAnimation(&self) -> UIStatusBarAnimation;
#[method(setNeedsStatusBarAppearanceUpdate)]
pub fn setNeedsStatusBarAppearanceUpdate(&self);
#[method_id(@__retain_semantics Other targetViewControllerForAction:sender:)]
pub unsafe fn targetViewControllerForAction_sender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> Option<Retained<UIViewController>>;
#[method(showViewController:sender:)]
pub unsafe fn showViewController_sender(
&self,
vc: &UIViewController,
sender: Option<&AnyObject>,
);
#[method(showDetailViewController:sender:)]
pub unsafe fn showDetailViewController_sender(
&self,
vc: &UIViewController,
sender: Option<&AnyObject>,
);
#[cfg(feature = "UIInterface")]
#[method(preferredUserInterfaceStyle)]
pub unsafe fn preferredUserInterfaceStyle(&self) -> UIUserInterfaceStyle;
#[method(setNeedsUserInterfaceAppearanceUpdate)]
pub unsafe fn setNeedsUserInterfaceAppearanceUpdate(&self);
#[cfg(feature = "UIInterface")]
#[method(overrideUserInterfaceStyle)]
pub unsafe fn overrideUserInterfaceStyle(&self) -> UIUserInterfaceStyle;
#[cfg(feature = "UIInterface")]
#[method(setOverrideUserInterfaceStyle:)]
pub unsafe fn setOverrideUserInterfaceStyle(
&self,
override_user_interface_style: UIUserInterfaceStyle,
);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[deprecated = "Please use instance method `setNeedsUpdateOfSupportedInterfaceOrientations`."]
#[method(attemptRotationToDeviceOrientation)]
pub fn attemptRotationToDeviceOrientation(mtm: MainThreadMarker);
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(shouldAutorotateToInterfaceOrientation:)]
pub unsafe fn shouldAutorotateToInterfaceOrientation(
&self,
to_interface_orientation: UIInterfaceOrientation,
) -> bool;
#[deprecated = "Update supported interface orientations and call setNeedsUpdateOfSupportedInterfaceOrientations to indicate a change."]
#[method(shouldAutorotate)]
pub unsafe fn shouldAutorotate(&self) -> bool;
#[cfg(feature = "UIOrientation")]
#[method(supportedInterfaceOrientations)]
pub unsafe fn supportedInterfaceOrientations(&self) -> UIInterfaceOrientationMask;
#[cfg(feature = "UIOrientation")]
#[method(preferredInterfaceOrientationForPresentation)]
pub unsafe fn preferredInterfaceOrientationForPresentation(&self)
-> UIInterfaceOrientation;
#[method(setNeedsUpdateOfSupportedInterfaceOrientations)]
pub unsafe fn setNeedsUpdateOfSupportedInterfaceOrientations(&self);
#[cfg(feature = "UIView")]
#[deprecated = "Header views are animated along with the rest of the view hierarchy"]
#[method_id(@__retain_semantics Other rotatingHeaderView)]
pub unsafe fn rotatingHeaderView(&self) -> Option<Retained<UIView>>;
#[cfg(feature = "UIView")]
#[deprecated = "Footer views are animated along with the rest of the view hierarchy"]
#[method_id(@__retain_semantics Other rotatingFooterView)]
pub unsafe fn rotatingFooterView(&self) -> Option<Retained<UIView>>;
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(interfaceOrientation)]
pub unsafe fn interfaceOrientation(&self) -> UIInterfaceOrientation;
#[cfg(feature = "UIOrientation")]
#[deprecated = "Implement viewWillTransitionToSize:withTransitionCoordinator: instead"]
#[method(willRotateToInterfaceOrientation:duration:)]
pub unsafe fn willRotateToInterfaceOrientation_duration(
&self,
to_interface_orientation: UIInterfaceOrientation,
duration: NSTimeInterval,
);
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(didRotateFromInterfaceOrientation:)]
pub unsafe fn didRotateFromInterfaceOrientation(
&self,
from_interface_orientation: UIInterfaceOrientation,
);
#[cfg(feature = "UIOrientation")]
#[deprecated = "Implement viewWillTransitionToSize:withTransitionCoordinator: instead"]
#[method(willAnimateRotationToInterfaceOrientation:duration:)]
pub unsafe fn willAnimateRotationToInterfaceOrientation_duration(
&self,
to_interface_orientation: UIInterfaceOrientation,
duration: NSTimeInterval,
);
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:)]
pub unsafe fn willAnimateFirstHalfOfRotationToInterfaceOrientation_duration(
&self,
to_interface_orientation: UIInterfaceOrientation,
duration: NSTimeInterval,
);
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(didAnimateFirstHalfOfRotationToInterfaceOrientation:)]
pub unsafe fn didAnimateFirstHalfOfRotationToInterfaceOrientation(
&self,
to_interface_orientation: UIInterfaceOrientation,
);
#[cfg(feature = "UIOrientation")]
#[deprecated]
#[method(willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:)]
pub unsafe fn willAnimateSecondHalfOfRotationFromInterfaceOrientation_duration(
&self,
from_interface_orientation: UIInterfaceOrientation,
duration: NSTimeInterval,
);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method(isEditing)]
pub unsafe fn isEditing(&self) -> bool;
#[method(setEditing:)]
pub unsafe fn setEditing(&self, editing: bool);
#[method(setEditing:animated:)]
pub unsafe fn setEditing_animated(&self, editing: bool, animated: bool);
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method_id(@__retain_semantics Other editButtonItem)]
pub unsafe fn editButtonItem(&self) -> Retained<UIBarButtonItem>;
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UISearchDisplayController")]
#[deprecated]
#[method_id(@__retain_semantics Other searchDisplayController)]
pub unsafe fn searchDisplayController(&self)
-> Option<Retained<UISearchDisplayController>>;
}
);
extern "C" {
pub static UIViewControllerHierarchyInconsistencyException: &'static NSExceptionName;
}
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other childViewControllers)]
pub unsafe fn childViewControllers(&self) -> Retained<NSArray<UIViewController>>;
#[method(addChildViewController:)]
pub unsafe fn addChildViewController(&self, child_controller: &UIViewController);
#[method(removeFromParentViewController)]
pub unsafe fn removeFromParentViewController(&self);
#[cfg(all(feature = "UIView", feature = "block2"))]
#[method(transitionFromViewController:toViewController:duration:options:animations:completion:)]
pub unsafe fn transitionFromViewController_toViewController_duration_options_animations_completion(
&self,
from_view_controller: &UIViewController,
to_view_controller: &UIViewController,
duration: NSTimeInterval,
options: UIViewAnimationOptions,
animations: Option<&block2::Block<dyn Fn()>>,
completion: Option<&block2::Block<dyn Fn(Bool)>>,
);
#[method(beginAppearanceTransition:animated:)]
pub unsafe fn beginAppearanceTransition_animated(&self, is_appearing: bool, animated: bool);
#[method(endAppearanceTransition)]
pub unsafe fn endAppearanceTransition(&self);
#[deprecated = "Has no effect on visionOS"]
#[method_id(@__retain_semantics Other childViewControllerForStatusBarStyle)]
pub unsafe fn childViewControllerForStatusBarStyle(
&self,
) -> Option<Retained<UIViewController>>;
#[deprecated = "Has no effect on visionOS"]
#[method_id(@__retain_semantics Other childViewControllerForStatusBarHidden)]
pub unsafe fn childViewControllerForStatusBarHidden(
&self,
) -> Option<Retained<UIViewController>>;
#[cfg(feature = "UITraitCollection")]
#[deprecated = "Use the traitOverrides property on the child view controller instead"]
#[method(setOverrideTraitCollection:forChildViewController:)]
pub unsafe fn setOverrideTraitCollection_forChildViewController(
&self,
collection: Option<&UITraitCollection>,
child_view_controller: &UIViewController,
);
#[cfg(feature = "UITraitCollection")]
#[deprecated = "Use the traitOverrides property on the child view controller instead"]
#[method_id(@__retain_semantics Other overrideTraitCollectionForChildViewController:)]
pub unsafe fn overrideTraitCollectionForChildViewController(
&self,
child_view_controller: &UIViewController,
) -> Option<Retained<UITraitCollection>>;
#[method_id(@__retain_semantics Other childViewControllerForUserInterfaceStyle)]
pub unsafe fn childViewControllerForUserInterfaceStyle(
&self,
) -> Option<Retained<UIViewController>>;
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[deprecated]
#[method(automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers)]
pub unsafe fn automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers(
&self,
) -> bool;
#[deprecated = "Manually forward viewWillTransitionToSize:withTransitionCoordinator: if necessary"]
#[method(shouldAutomaticallyForwardRotationMethods)]
pub unsafe fn shouldAutomaticallyForwardRotationMethods(&self) -> bool;
#[method(shouldAutomaticallyForwardAppearanceMethods)]
pub unsafe fn shouldAutomaticallyForwardAppearanceMethods(&self) -> bool;
#[method(willMoveToParentViewController:)]
pub unsafe fn willMoveToParentViewController(&self, parent: Option<&UIViewController>);
#[method(didMoveToParentViewController:)]
pub unsafe fn didMoveToParentViewController(&self, parent: Option<&UIViewController>);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other restorationIdentifier)]
pub unsafe fn restorationIdentifier(&self) -> Option<Retained<NSString>>;
#[method(setRestorationIdentifier:)]
pub unsafe fn setRestorationIdentifier(&self, restoration_identifier: Option<&NSString>);
#[cfg(feature = "UIStateRestoration")]
#[method(restorationClass)]
pub unsafe fn restorationClass(&self) -> Option<&'static AnyClass>;
#[cfg(feature = "UIStateRestoration")]
#[method(setRestorationClass:)]
pub unsafe fn setRestorationClass(&self, restoration_class: Option<&AnyClass>);
#[method(encodeRestorableStateWithCoder:)]
pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder);
#[method(decodeRestorableStateWithCoder:)]
pub unsafe fn decodeRestorableStateWithCoder(&self, coder: &NSCoder);
#[method(applicationFinishedRestoringState)]
pub unsafe fn applicationFinishedRestoringState(&self);
}
);
#[cfg(all(feature = "UIResponder", feature = "UIStateRestoration"))]
unsafe impl UIStateRestoring for UIViewController {}
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method(updateViewConstraints)]
pub unsafe fn updateViewConstraints(&self);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UIViewControllerTransitioning")]
#[method_id(@__retain_semantics Other transitioningDelegate)]
pub unsafe fn transitioningDelegate(
&self,
) -> Option<Retained<ProtocolObject<dyn UIViewControllerTransitioningDelegate>>>;
#[cfg(feature = "UIViewControllerTransitioning")]
#[method(setTransitioningDelegate:)]
pub unsafe fn setTransitioningDelegate(
&self,
transitioning_delegate: Option<
&ProtocolObject<dyn UIViewControllerTransitioningDelegate>,
>,
);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "NSLayoutConstraint")]
#[deprecated = "Use view.safeAreaLayoutGuide.topAnchor instead of topLayoutGuide.bottomAnchor"]
#[method_id(@__retain_semantics Other topLayoutGuide)]
pub unsafe fn topLayoutGuide(&self) -> Retained<ProtocolObject<dyn UILayoutSupport>>;
#[cfg(feature = "NSLayoutConstraint")]
#[deprecated = "Use view.safeAreaLayoutGuide.bottomAnchor instead of bottomLayoutGuide.topAnchor"]
#[method_id(@__retain_semantics Other bottomLayoutGuide)]
pub unsafe fn bottomLayoutGuide(&self) -> Retained<ProtocolObject<dyn UILayoutSupport>>;
#[cfg(feature = "UIGeometry")]
#[method(additionalSafeAreaInsets)]
pub unsafe fn additionalSafeAreaInsets(&self) -> UIEdgeInsets;
#[cfg(feature = "UIGeometry")]
#[method(setAdditionalSafeAreaInsets:)]
pub unsafe fn setAdditionalSafeAreaInsets(&self, additional_safe_area_insets: UIEdgeInsets);
#[cfg(feature = "UIGeometry")]
#[method(systemMinimumLayoutMargins)]
pub unsafe fn systemMinimumLayoutMargins(&self) -> NSDirectionalEdgeInsets;
#[method(viewRespectsSystemMinimumLayoutMargins)]
pub unsafe fn viewRespectsSystemMinimumLayoutMargins(&self) -> bool;
#[method(setViewRespectsSystemMinimumLayoutMargins:)]
pub unsafe fn setViewRespectsSystemMinimumLayoutMargins(
&self,
view_respects_system_minimum_layout_margins: bool,
);
#[method(viewLayoutMarginsDidChange)]
pub unsafe fn viewLayoutMarginsDidChange(&self);
#[method(viewSafeAreaInsetsDidChange)]
pub unsafe fn viewSafeAreaInsetsDidChange(&self);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(all(
feature = "UICommand",
feature = "UIKeyCommand",
feature = "UIMenuElement"
))]
#[method(addKeyCommand:)]
pub unsafe fn addKeyCommand(&self, key_command: &UIKeyCommand);
#[cfg(all(
feature = "UICommand",
feature = "UIKeyCommand",
feature = "UIMenuElement"
))]
#[method(removeKeyCommand:)]
pub unsafe fn removeKeyCommand(&self, key_command: &UIKeyCommand);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method(performsActionsWhilePresentingModally)]
pub unsafe fn performsActionsWhilePresentingModally(&self) -> bool;
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other extensionContext)]
pub unsafe fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>;
}
);
#[cfg(feature = "UIResponder")]
unsafe impl NSExtensionRequestHandling for UIViewController {}
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UIPresentationController")]
#[method_id(@__retain_semantics Other presentationController)]
pub unsafe fn presentationController(&self) -> Option<Retained<UIPresentationController>>;
#[cfg(all(
feature = "UIPresentationController",
feature = "UISheetPresentationController"
))]
#[method_id(@__retain_semantics Other sheetPresentationController)]
pub unsafe fn sheetPresentationController(
&self,
) -> Option<Retained<UISheetPresentationController>>;
#[cfg(all(
feature = "UIPopoverPresentationController",
feature = "UIPresentationController"
))]
#[method_id(@__retain_semantics Other popoverPresentationController)]
pub unsafe fn popoverPresentationController(
&self,
) -> Option<Retained<UIPopoverPresentationController>>;
#[cfg(feature = "UIPresentationController")]
#[method_id(@__retain_semantics Other activePresentationController)]
pub unsafe fn activePresentationController(
&self,
) -> Option<Retained<UIPresentationController>>;
#[method(isModalInPresentation)]
pub unsafe fn isModalInPresentation(&self) -> bool;
#[method(setModalInPresentation:)]
pub unsafe fn setModalInPresentation(&self, modal_in_presentation: bool);
}
);
extern_protocol!(
pub unsafe trait UIViewControllerPreviewing:
NSObjectProtocol + IsMainThreadOnly
{
#[cfg(feature = "UIGestureRecognizer")]
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other previewingGestureRecognizerForFailureRelationship)]
unsafe fn previewingGestureRecognizerForFailureRelationship(
&self,
) -> Retained<UIGestureRecognizer>;
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other delegate)]
unsafe fn delegate(
&self,
) -> Retained<ProtocolObject<dyn UIViewControllerPreviewingDelegate>>;
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other sourceView)]
unsafe fn sourceView(&self) -> Retained<UIView>;
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method(sourceRect)]
unsafe fn sourceRect(&self) -> CGRect;
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method(setSourceRect:)]
unsafe fn setSourceRect(&self, source_rect: CGRect);
}
unsafe impl ProtocolType for dyn UIViewControllerPreviewing {}
);
extern_protocol!(
pub unsafe trait UIViewControllerPreviewingDelegate:
NSObjectProtocol + IsMainThreadOnly
{
#[cfg(feature = "UIResponder")]
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other previewingContext:viewControllerForLocation:)]
unsafe fn previewingContext_viewControllerForLocation(
&self,
previewing_context: &ProtocolObject<dyn UIViewControllerPreviewing>,
location: CGPoint,
) -> Option<Retained<UIViewController>>;
#[cfg(feature = "UIResponder")]
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method(previewingContext:commitViewController:)]
unsafe fn previewingContext_commitViewController(
&self,
previewing_context: &ProtocolObject<dyn UIViewControllerPreviewing>,
view_controller_to_commit: &UIViewController,
);
}
unsafe impl ProtocolType for dyn UIViewControllerPreviewingDelegate {}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UIView")]
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other registerForPreviewingWithDelegate:sourceView:)]
pub unsafe fn registerForPreviewingWithDelegate_sourceView(
&self,
delegate: &ProtocolObject<dyn UIViewControllerPreviewingDelegate>,
source_view: &UIView,
) -> Retained<ProtocolObject<dyn UIViewControllerPreviewing>>;
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method(unregisterForPreviewingWithContext:)]
pub unsafe fn unregisterForPreviewingWithContext(
&self,
previewing: &ProtocolObject<dyn UIViewControllerPreviewing>,
);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other childViewControllerForScreenEdgesDeferringSystemGestures)]
pub unsafe fn childViewControllerForScreenEdgesDeferringSystemGestures(
&self,
) -> Option<Retained<UIViewController>>;
#[cfg(feature = "UIGeometry")]
#[method(preferredScreenEdgesDeferringSystemGestures)]
pub unsafe fn preferredScreenEdgesDeferringSystemGestures(&self) -> UIRectEdge;
#[method(setNeedsUpdateOfScreenEdgesDeferringSystemGestures)]
pub fn setNeedsUpdateOfScreenEdgesDeferringSystemGestures(&self);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other childViewControllerForHomeIndicatorAutoHidden)]
pub unsafe fn childViewControllerForHomeIndicatorAutoHidden(
&self,
) -> Option<Retained<UIViewController>>;
#[method(prefersHomeIndicatorAutoHidden)]
pub unsafe fn prefersHomeIndicatorAutoHidden(&self) -> bool;
#[method(setNeedsUpdateOfHomeIndicatorAutoHidden)]
pub fn setNeedsUpdateOfHomeIndicatorAutoHidden(&self);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method_id(@__retain_semantics Other childViewControllerForPointerLock)]
pub unsafe fn childViewControllerForPointerLock(
&self,
) -> Option<Retained<UIViewController>>;
#[method(prefersPointerLocked)]
pub unsafe fn prefersPointerLocked(&self) -> bool;
#[method(setNeedsUpdateOfPrefersPointerLocked)]
pub unsafe fn setNeedsUpdateOfPrefersPointerLocked(&self);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UIContentConfiguration")]
#[method_id(@__retain_semantics Other contentUnavailableConfiguration)]
pub unsafe fn contentUnavailableConfiguration(
&self,
) -> Option<Retained<ProtocolObject<dyn UIContentConfiguration>>>;
#[cfg(feature = "UIContentConfiguration")]
#[method(setContentUnavailableConfiguration:)]
pub unsafe fn setContentUnavailableConfiguration(
&self,
content_unavailable_configuration: Option<&ProtocolObject<dyn UIContentConfiguration>>,
);
#[cfg(feature = "UIContentUnavailableConfigurationState")]
#[method_id(@__retain_semantics Other contentUnavailableConfigurationState)]
pub unsafe fn contentUnavailableConfigurationState(
&self,
) -> Retained<UIContentUnavailableConfigurationState>;
#[method(setNeedsUpdateContentUnavailableConfiguration)]
pub unsafe fn setNeedsUpdateContentUnavailableConfiguration(&self);
#[cfg(feature = "UIContentUnavailableConfigurationState")]
#[method(updateContentUnavailableConfigurationUsingState:)]
pub unsafe fn updateContentUnavailableConfigurationUsingState(
&self,
state: &UIContentUnavailableConfigurationState,
);
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[deprecated = "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other previewActionItems)]
pub unsafe fn previewActionItems(
&self,
) -> Retained<NSArray<ProtocolObject<dyn UIPreviewActionItem>>>;
}
);
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[cfg(feature = "UITraitCollection")]
#[method_id(@__retain_semantics Other traitOverrides)]
pub unsafe fn traitOverrides(&self) -> Retained<ProtocolObject<dyn UITraitOverrides>>;
#[method(updateTraitsIfNeeded)]
pub unsafe fn updateTraitsIfNeeded(&self);
}
);
#[cfg(all(feature = "UIResponder", feature = "UITraitCollection"))]
unsafe impl UITraitChangeObservable for UIViewController {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIContainerBackgroundStyle(pub NSInteger);
impl UIContainerBackgroundStyle {
#[doc(alias = "UIContainerBackgroundStyleAutomatic")]
pub const Automatic: Self = Self(0);
#[doc(alias = "UIContainerBackgroundStyleGlass")]
pub const Glass: Self = Self(1);
#[doc(alias = "UIContainerBackgroundStyleHidden")]
pub const Hidden: Self = Self(2);
}
unsafe impl Encode for UIContainerBackgroundStyle {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIContainerBackgroundStyle {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_methods!(
#[cfg(feature = "UIResponder")]
unsafe impl UIViewController {
#[method(preferredContainerBackgroundStyle)]
pub unsafe fn preferredContainerBackgroundStyle(&self) -> UIContainerBackgroundStyle;
#[method_id(@__retain_semantics Other childViewControllerForPreferredContainerBackgroundStyle)]
pub unsafe fn childViewControllerForPreferredContainerBackgroundStyle(
&self,
) -> Option<Retained<UIViewController>>;
#[method(setNeedsUpdateOfPreferredContainerBackgroundStyle)]
pub unsafe fn setNeedsUpdateOfPreferredContainerBackgroundStyle(&self);
}
);
extern_protocol!(
pub unsafe trait UIPreviewActionItem: NSObjectProtocol + IsMainThreadOnly {
#[method_id(@__retain_semantics Other title)]
unsafe fn title(&self) -> Retained<NSString>;
}
unsafe impl ProtocolType for dyn UIPreviewActionItem {}
);
#[deprecated = "Please use UIContextMenuInteraction."]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIPreviewActionStyle(pub NSInteger);
impl UIPreviewActionStyle {
#[deprecated = "Please use UIContextMenuInteraction."]
#[doc(alias = "UIPreviewActionStyleDefault")]
pub const Default: Self = Self(0);
#[deprecated = "Please use UIContextMenuInteraction."]
#[doc(alias = "UIPreviewActionStyleSelected")]
pub const Selected: Self = Self(1);
#[deprecated = "Please use UIContextMenuInteraction."]
#[doc(alias = "UIPreviewActionStyleDestructive")]
pub const Destructive: Self = Self(2);
}
unsafe impl Encode for UIPreviewActionStyle {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIPreviewActionStyle {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Please use UIContextMenuInteraction."]
pub struct UIPreviewAction;
unsafe impl ClassType for UIPreviewAction {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCopying for UIPreviewAction {}
unsafe impl NSObjectProtocol for UIPreviewAction {}
unsafe impl UIPreviewActionItem for UIPreviewAction {}
extern_methods!(
unsafe impl UIPreviewAction {
#[cfg(all(feature = "UIResponder", feature = "block2"))]
#[deprecated = "Please use UIContextMenuInteraction."]
#[method(handler)]
pub unsafe fn handler(
&self,
) -> NonNull<
block2::Block<
dyn Fn(NonNull<ProtocolObject<dyn UIPreviewActionItem>>, NonNull<UIViewController>),
>,
>;
#[cfg(all(feature = "UIResponder", feature = "block2"))]
#[deprecated = "Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other actionWithTitle:style:handler:)]
pub unsafe fn actionWithTitle_style_handler(
title: &NSString,
style: UIPreviewActionStyle,
handler: &block2::Block<dyn Fn(NonNull<UIPreviewAction>, NonNull<UIViewController>)>,
mtm: MainThreadMarker,
) -> Retained<Self>;
}
);
extern_methods!(
unsafe impl UIPreviewAction {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Please use UIContextMenuInteraction."]
pub struct UIPreviewActionGroup;
unsafe impl ClassType for UIPreviewActionGroup {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCopying for UIPreviewActionGroup {}
unsafe impl NSObjectProtocol for UIPreviewActionGroup {}
unsafe impl UIPreviewActionItem for UIPreviewActionGroup {}
extern_methods!(
unsafe impl UIPreviewActionGroup {
#[deprecated = "Please use UIContextMenuInteraction."]
#[method_id(@__retain_semantics Other actionGroupWithTitle:style:actions:)]
pub unsafe fn actionGroupWithTitle_style_actions(
title: &NSString,
style: UIPreviewActionStyle,
actions: &NSArray<UIPreviewAction>,
mtm: MainThreadMarker,
) -> Retained<Self>;
}
);
extern_methods!(
unsafe impl UIPreviewActionGroup {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);