pub struct MFMailComposeViewController { /* private fields */ }MFMailComposeViewController and objc2-ui-kit only.Expand description
The MFMailComposeViewController class provides an interface for editing and sending email.
The MFMailComposeViewController class manages all user interaction. The client needs to set the recipient or recipients. The client may also set the subject and the body of the message. Attachments may be added, if so desired. After setup, the client needs to only display the view.
The provided delegate will be informed of the user's composition completion and how they chose to complete the operation.
Prior to use, clients should verify the user has set up the device for sending email via +[MFMailComposeViewController canSendMail] .See also Apple’s documentation
Implementations§
Source§impl MFMailComposeViewController
impl MFMailComposeViewController
Sourcepub unsafe fn canSendMail(mtm: MainThreadMarker) -> bool
pub unsafe fn canSendMail(mtm: MainThreadMarker) -> bool
Returns YES if the user has set up the device for sending email.
The client may continue to set the recipients and content if the return value was YES . If NO was the result, the client has a couple options. It may choose to simply notify the user of the inability to send mail, or it may issue a “mailto” URL via -[UIApplication openURL:] .
Sourcepub unsafe fn mailComposeDelegate(
&self,
) -> Option<Retained<ProtocolObject<dyn MFMailComposeViewControllerDelegate>>>
pub unsafe fn mailComposeDelegate( &self, ) -> Option<Retained<ProtocolObject<dyn MFMailComposeViewControllerDelegate>>>
This property is the delegate for the MFMailComposeViewControllerDelegate method callbacks.
Sourcepub unsafe fn setMailComposeDelegate(
&self,
mail_compose_delegate: Option<&ProtocolObject<dyn MFMailComposeViewControllerDelegate>>,
)
pub unsafe fn setMailComposeDelegate( &self, mail_compose_delegate: Option<&ProtocolObject<dyn MFMailComposeViewControllerDelegate>>, )
Setter for mailComposeDelegate.
This is a weak property.
Sourcepub unsafe fn setSubject(&self, subject: &NSString)
pub unsafe fn setSubject(&self, subject: &NSString)
This method sets the Subject header for the email message.
This method will set the Subject header for the email message. This should be called prior to display. Newlines are removed from the parameter.
After the view has been presented to the user, this method will no longer change the value.
Parameter subject: A NSString specifying the message’s Subject header.
Sourcepub unsafe fn setToRecipients(&self, to_recipients: Option<&NSArray<NSString>>)
pub unsafe fn setToRecipients(&self, to_recipients: Option<&NSArray<NSString>>)
This method sets the To header for the email message to the specified email addresses.
This method will set the To header for the email message. This should be called prior to display.
Recipient addresses should be specified as per RFC5322.
After the view has been presented to the user, this method will no longer change the value.
Parameter toRecipients: A NSArray of NSString instances specifying the email addresses of recipients.
Sourcepub unsafe fn setCcRecipients(&self, cc_recipients: Option<&NSArray<NSString>>)
pub unsafe fn setCcRecipients(&self, cc_recipients: Option<&NSArray<NSString>>)
This method sets the CC header for the email message to the specified email addresses.
This method will set the CC header for the email message. This should be called prior to display.
Recipient addresses should be specified as per RFC5322.
After the view has been presented to the user, this method will no longer change the value.
Parameter ccRecipients: A NSArray of NSString instances specifying the email addresses of recipients.
Sourcepub unsafe fn setBccRecipients(
&self,
bcc_recipients: Option<&NSArray<NSString>>,
)
pub unsafe fn setBccRecipients( &self, bcc_recipients: Option<&NSArray<NSString>>, )
This method sets the BCC header for the email message to the specified email addresses.
This method will set the BCC header for the email message. This should be called prior to display.
Recipient addresses should be specified as per RFC5322.
After the view has been presented to the user, this method will no longer change the value.
Parameter bccRecipients: A NSArray of NSString instances specifying the email addresses of recipients.
Sourcepub unsafe fn setMessageBody_isHTML(&self, body: &NSString, is_html: bool)
pub unsafe fn setMessageBody_isHTML(&self, body: &NSString, is_html: bool)
This method sets the body of the email message to the specified content.
This method will set the body of the email message. This should be called prior to display. The user’s signature, if specified, will be added after the body content.
Parameter body: A NSString containing the body contents of the email message.
Parameter isHTML: A boolean value indicating if the body argument is to be interpreted as HTML content.
Sourcepub unsafe fn addAttachmentData_mimeType_fileName(
&self,
attachment: &NSData,
mime_type: &NSString,
filename: &NSString,
)
pub unsafe fn addAttachmentData_mimeType_fileName( &self, attachment: &NSData, mime_type: &NSString, filename: &NSString, )
This method adds the specified attachment to the email message.
This method adds the specified attachment to the email message. This should be called prior to display. Attachments will be appended to the end of the message.
Parameter attachment: NSData containing the contents of the attachment. Must not be
nil
.
Parameter mimeType: NSString specifying the MIME type for the attachment, as specified by the IANA
(http://www.iana.org/assignments/media-types/). Must not be
nil
.
Parameter filename: NSString specifying the intended filename for the attachment. This is displayed below
the attachment’s icon if the attachment is not decoded when displayed. Must not be
nil
.
Sourcepub unsafe fn setPreferredSendingEmailAddress(&self, email_address: &NSString)
pub unsafe fn setPreferredSendingEmailAddress(&self, email_address: &NSString)
This method sets the preferred sending account of the email message.
This method will set the sending account of the message to the specified email address if the user has an account with such an address set up. If there is no account with such an address, the default account will be used instead. The sending email address should be specified as per RFC5322. After the view has been presented to the user, this method will no longer change the value.
Parameter emailAddress: A NSString specifying the preferred email address used to send this message.
Sourcepub unsafe fn insertCollaborationItemProvider_completionHandler(
&self,
item_provider: &NSItemProvider,
completion_handler: &DynBlock<dyn Fn(Bool)>,
)
Available on crate feature block2 only.
pub unsafe fn insertCollaborationItemProvider_completionHandler( &self, item_provider: &NSItemProvider, completion_handler: &DynBlock<dyn Fn(Bool)>, )
block2 only.Parameter itemProvider: specifying the intended content for collaboration
Returns YES if the item provider was added to the composition successfully.
If the return value is YES, the itemProvider was added to the composition. The itemProvider must be non-nil.
Source§impl MFMailComposeViewController
Methods declared on superclass UINavigationController.
impl MFMailComposeViewController
Methods declared on superclass UINavigationController.
§Safety
navigation_bar_classprobably has further requirements.toolbar_classprobably has further requirements.
pub unsafe fn initWithRootViewController( this: Allocated<Self>, root_view_controller: &UIViewController, ) -> Retained<Self>
pub unsafe fn initWithNibName_bundle( this: Allocated<Self>, nib_name_or_nil: Option<&NSString>, nib_bundle_or_nil: Option<&NSBundle>, ) -> Retained<Self>
Methods from Deref<Target = UINavigationController>§
Methods from Deref<Target = UIViewController>§
pub fn hidesBottomBarWhenPushed(&self) -> bool
Sourcepub fn setHidesBottomBarWhenPushed(&self, hides_bottom_bar_when_pushed: bool)
pub fn setHidesBottomBarWhenPushed(&self, hides_bottom_bar_when_pushed: bool)
Setter for hidesBottomBarWhenPushed.
pub fn loadView(&self)
pub fn loadViewIfNeeded(&self)
pub fn viewWillUnload(&self)
pub fn viewDidUnload(&self)
pub fn viewDidLoad(&self)
pub fn isViewLoaded(&self) -> bool
pub fn nibName(&self) -> Option<Retained<NSString>>
pub fn nibBundle(&self) -> Option<Retained<NSBundle>>
Sourcepub 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.
pub unsafe fn performSegueWithIdentifier_sender( &self, identifier: &NSString, sender: Option<&AnyObject>, )
§Safety
sender should be of the correct type.
Sourcepub unsafe fn shouldPerformSegueWithIdentifier_sender(
&self,
identifier: &NSString,
sender: Option<&AnyObject>,
) -> bool
👎Deprecated: Loading Interface Builder products will not be supported in a future version of visionOS.
pub unsafe fn shouldPerformSegueWithIdentifier_sender( &self, identifier: &NSString, sender: Option<&AnyObject>, ) -> bool
§Safety
sender should be of the correct type.
Sourcepub unsafe fn canPerformUnwindSegueAction_fromViewController_sender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: Option<&AnyObject>,
) -> bool
👎Deprecated: Loading Interface Builder products will not be supported in a future version of visionOS.
pub unsafe fn canPerformUnwindSegueAction_fromViewController_sender( &self, action: Sel, from_view_controller: &UIViewController, sender: Option<&AnyObject>, ) -> bool
§Safety
actionmust be a valid selector.sendershould be of the correct type.
Sourcepub unsafe fn canPerformUnwindSegueAction_fromViewController_withSender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: &AnyObject,
) -> bool
👎Deprecated
pub unsafe fn canPerformUnwindSegueAction_fromViewController_withSender( &self, action: Sel, from_view_controller: &UIViewController, sender: &AnyObject, ) -> bool
§Safety
actionmust be a valid selector.sendershould be of the correct type.
Sourcepub unsafe fn viewControllerForUnwindSegueAction_fromViewController_withSender(
&self,
action: Sel,
from_view_controller: &UIViewController,
sender: Option<&AnyObject>,
) -> Option<Retained<UIViewController>>
👎Deprecated
pub unsafe fn viewControllerForUnwindSegueAction_fromViewController_withSender( &self, action: Sel, from_view_controller: &UIViewController, sender: Option<&AnyObject>, ) -> Option<Retained<UIViewController>>
§Safety
actionmust be a valid selector.sendershould be of the correct type.
Sourcepub fn viewWillAppear(&self, animated: bool)
pub fn viewWillAppear(&self, animated: bool)
Called when the view is about to made visible, before it is added to the hierarchy. Because the view is not yet in the hierarchy at the time this method is called, it is too early in the appearance transition for many usages. Prefer -viewIsAppearing: instead of this method when possible. Only use this method when its exact timing before the appearance transition starts running is desired, such as to set up an alongside animation with a transition coordinator, or as a counterpart for paired code in a viewWillDisappear/viewDidDisappear callback that does not rely on the view or view controller’s trait collection or the view hierarchy.
Sourcepub fn viewIsAppearing(&self, animated: bool)
pub fn viewIsAppearing(&self, animated: bool)
Called when the view is becoming visible at the beginning of the appearance transition, after it has been added to the hierarchy and been laid out by its superview. This method is very similar to -viewWillAppear: and is always called shortly afterwards (so changes made in either callback will be visible to the user at the same time), but unlike -viewWillAppear:, at the time when -viewIsAppearing: is called all of the following are valid for the view controller and its own view:
- View controller and view’s trait collection
- View’s superview chain and window
- View’s geometry (e.g. frame/bounds, safe area insets, layout margins) Choose this method instead of -viewWillAppear: by default, as it is a direct replacement that provides equivalent or superior behavior in nearly all cases.
Sourcepub fn viewDidAppear(&self, animated: bool)
pub fn viewDidAppear(&self, animated: bool)
Called after the view has fully transitioned to visible, when any transition animations have completed.
Sourcepub fn viewWillDisappear(&self, animated: bool)
pub fn viewWillDisappear(&self, animated: bool)
Called when the view is about to be dismissed, covered, or otherwise hidden.
Sourcepub fn viewDidDisappear(&self, animated: bool)
pub fn viewDidDisappear(&self, animated: bool)
Called after the view has fully been dismissed, covered, or otherwise hidden, when any transition animations have completed.
Sourcepub fn setNeedsUpdateProperties(&self)
pub fn setNeedsUpdateProperties(&self)
Call to manually request a properties update for the view controller. Multiple requests may be coalesced into a single update alongside the next layout pass.
Sourcepub fn updateProperties(&self)
pub fn updateProperties(&self)
Override point for subclasses to update properties of this view controller or its view.
Never call this method directly; use setNeedsUpdateProperties to schedule an update.
Sourcepub fn updatePropertiesIfNeeded(&self)
pub fn updatePropertiesIfNeeded(&self)
Forces an immediate properties update for this view controller and its view, including any view controllers and views in this subtree.
pub fn viewWillLayoutSubviews(&self)
pub fn viewDidLayoutSubviews(&self)
pub fn title(&self) -> Option<Retained<NSString>>
pub fn didReceiveMemoryWarning(&self)
pub fn parentViewController(&self) -> Option<Retained<UIViewController>>
pub fn modalViewController(&self) -> Option<Retained<UIViewController>>
pub fn presentedViewController(&self) -> Option<Retained<UIViewController>>
pub fn presentingViewController(&self) -> Option<Retained<UIViewController>>
pub fn definesPresentationContext(&self) -> bool
Sourcepub fn setDefinesPresentationContext(&self, defines_presentation_context: bool)
pub fn setDefinesPresentationContext(&self, defines_presentation_context: bool)
Setter for definesPresentationContext.
pub fn providesPresentationContextTransitionStyle(&self) -> bool
Sourcepub fn setProvidesPresentationContextTransitionStyle(
&self,
provides_presentation_context_transition_style: bool,
)
pub fn setProvidesPresentationContextTransitionStyle( &self, provides_presentation_context_transition_style: bool, )
Setter for providesPresentationContextTransitionStyle.
pub fn restoresFocusAfterTransition(&self) -> bool
Sourcepub fn setRestoresFocusAfterTransition(
&self,
restores_focus_after_transition: bool,
)
pub fn setRestoresFocusAfterTransition( &self, restores_focus_after_transition: bool, )
Setter for restoresFocusAfterTransition.
Sourcepub fn focusGroupIdentifier(&self) -> Option<Retained<NSString>>
pub fn focusGroupIdentifier(&self) -> Option<Retained<NSString>>
The identifier of the focus group that this view controller belongs to. If this is nil, the view controller inherits the focus group of its parent focus environment.
Sourcepub fn setFocusGroupIdentifier(&self, focus_group_identifier: Option<&NSString>)
pub fn setFocusGroupIdentifier(&self, focus_group_identifier: Option<&NSString>)
Setter for focusGroupIdentifier.
This is copied when set.
Sourcepub fn interactionActivityTrackingBaseName(&self) -> Option<Retained<NSString>>
pub fn interactionActivityTrackingBaseName(&self) -> Option<Retained<NSString>>
The base name for tracking user interactions as activities hosted by this view controller.
Sourcepub fn setInteractionActivityTrackingBaseName(
&self,
interaction_activity_tracking_base_name: Option<&NSString>,
)
pub fn setInteractionActivityTrackingBaseName( &self, interaction_activity_tracking_base_name: Option<&NSString>, )
Setter for interactionActivityTrackingBaseName.
This is copied when set.
pub fn isBeingPresented(&self) -> bool
pub fn isBeingDismissed(&self) -> bool
pub fn isMovingToParentViewController(&self) -> bool
pub fn isMovingFromParentViewController(&self) -> bool
pub fn presentModalViewController_animated( &self, modal_view_controller: &UIViewController, animated: bool, )
pub fn dismissModalViewControllerAnimated(&self, animated: bool)
pub fn modalTransitionStyle(&self) -> UIModalTransitionStyle
Sourcepub fn setModalTransitionStyle(
&self,
modal_transition_style: UIModalTransitionStyle,
)
pub fn setModalTransitionStyle( &self, modal_transition_style: UIModalTransitionStyle, )
Setter for modalTransitionStyle.
pub fn modalPresentationStyle(&self) -> UIModalPresentationStyle
Sourcepub fn setModalPresentationStyle(
&self,
modal_presentation_style: UIModalPresentationStyle,
)
pub fn setModalPresentationStyle( &self, modal_presentation_style: UIModalPresentationStyle, )
Setter for modalPresentationStyle.
pub fn modalPresentationCapturesStatusBarAppearance(&self) -> bool
Sourcepub fn setModalPresentationCapturesStatusBarAppearance(
&self,
modal_presentation_captures_status_bar_appearance: bool,
)
pub fn setModalPresentationCapturesStatusBarAppearance( &self, modal_presentation_captures_status_bar_appearance: bool, )
Setter for modalPresentationCapturesStatusBarAppearance.
pub fn disablesAutomaticKeyboardDismissal(&self) -> bool
pub fn wantsFullScreenLayout(&self) -> bool
Sourcepub fn setWantsFullScreenLayout(&self, wants_full_screen_layout: bool)
👎Deprecated
pub fn setWantsFullScreenLayout(&self, wants_full_screen_layout: bool)
Setter for wantsFullScreenLayout.
pub fn extendedLayoutIncludesOpaqueBars(&self) -> bool
Sourcepub fn setExtendedLayoutIncludesOpaqueBars(
&self,
extended_layout_includes_opaque_bars: bool,
)
pub fn setExtendedLayoutIncludesOpaqueBars( &self, extended_layout_includes_opaque_bars: bool, )
Setter for extendedLayoutIncludesOpaqueBars.
pub fn automaticallyAdjustsScrollViewInsets(&self) -> bool
Sourcepub fn setAutomaticallyAdjustsScrollViewInsets(
&self,
automatically_adjusts_scroll_view_insets: bool,
)
👎Deprecated: Use UIScrollView’s contentInsetAdjustmentBehavior instead
pub fn setAutomaticallyAdjustsScrollViewInsets( &self, automatically_adjusts_scroll_view_insets: bool, )
Setter for automaticallyAdjustsScrollViewInsets.
pub fn prefersStatusBarHidden(&self) -> bool
pub fn setNeedsStatusBarAppearanceUpdate(&self)
Sourcepub unsafe fn targetViewControllerForAction_sender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> Option<Retained<UIViewController>>
pub unsafe fn targetViewControllerForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<UIViewController>>
§Safety
actionmust be a valid selector.sendershould be of the correct type.
Sourcepub unsafe fn showViewController_sender(
&self,
vc: &UIViewController,
sender: Option<&AnyObject>,
)
pub unsafe fn showViewController_sender( &self, vc: &UIViewController, sender: Option<&AnyObject>, )
§Safety
sender should be of the correct type.
Sourcepub unsafe fn showDetailViewController_sender(
&self,
vc: &UIViewController,
sender: Option<&AnyObject>,
)
pub unsafe fn showDetailViewController_sender( &self, vc: &UIViewController, sender: Option<&AnyObject>, )
§Safety
sender should be of the correct type.
pub fn setNeedsUserInterfaceAppearanceUpdate(&self)
pub fn shouldAutorotate(&self) -> bool
Sourcepub fn setNeedsUpdateOfSupportedInterfaceOrientations(&self)
pub fn setNeedsUpdateOfSupportedInterfaceOrientations(&self)
Notifies the view controller that a change occurred that affects supported interface orientations or the preferred interface orientation for presentation.
By default, this will animate any changes to orientation. To perform a non-animated update, call within [UIView performWithoutAnimation:].
pub fn isEditing(&self) -> bool
Sourcepub fn setEditing(&self, editing: bool)
pub fn setEditing(&self, editing: bool)
Setter for isEditing.
pub fn setEditing_animated(&self, editing: bool, animated: bool)
pub fn childViewControllers(&self) -> Retained<NSArray<UIViewController>>
pub fn addChildViewController(&self, child_controller: &UIViewController)
pub fn removeFromParentViewController(&self)
pub fn beginAppearanceTransition_animated( &self, is_appearing: bool, animated: bool, )
pub fn endAppearanceTransition(&self)
pub fn childViewControllerForStatusBarStyle( &self, ) -> Option<Retained<UIViewController>>
pub fn childViewControllerForStatusBarHidden( &self, ) -> Option<Retained<UIViewController>>
pub fn setOverrideTraitCollection_forChildViewController( &self, collection: Option<&UITraitCollection>, child_view_controller: &UIViewController, )
pub fn overrideTraitCollectionForChildViewController( &self, child_view_controller: &UIViewController, ) -> Option<Retained<UITraitCollection>>
pub fn childViewControllerForUserInterfaceStyle( &self, ) -> Option<Retained<UIViewController>>
pub fn automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers( &self, ) -> bool
pub fn shouldAutomaticallyForwardRotationMethods(&self) -> bool
pub fn shouldAutomaticallyForwardAppearanceMethods(&self) -> bool
pub fn willMoveToParentViewController(&self, parent: Option<&UIViewController>)
pub fn didMoveToParentViewController(&self, parent: Option<&UIViewController>)
pub fn restorationIdentifier(&self) -> Option<Retained<NSString>>
Sourcepub fn setRestorationIdentifier(
&self,
restoration_identifier: Option<&NSString>,
)
pub fn setRestorationIdentifier( &self, restoration_identifier: Option<&NSString>, )
Setter for restorationIdentifier.
This is copied when set.
Sourcepub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
§Safety
coder possibly has further requirements.
Sourcepub unsafe fn decodeRestorableStateWithCoder(&self, coder: &NSCoder)
pub unsafe fn decodeRestorableStateWithCoder(&self, coder: &NSCoder)
§Safety
coder possibly has further requirements.
pub fn applicationFinishedRestoringState(&self)
pub fn updateViewConstraints(&self)
pub fn viewRespectsSystemMinimumLayoutMargins(&self) -> bool
Sourcepub fn setViewRespectsSystemMinimumLayoutMargins(
&self,
view_respects_system_minimum_layout_margins: bool,
)
pub fn setViewRespectsSystemMinimumLayoutMargins( &self, view_respects_system_minimum_layout_margins: bool, )
Setter for viewRespectsSystemMinimumLayoutMargins.
pub fn viewLayoutMarginsDidChange(&self)
pub fn viewSafeAreaInsetsDidChange(&self)
Sourcepub fn performsActionsWhilePresentingModally(&self) -> bool
pub fn performsActionsWhilePresentingModally(&self) -> bool
Determines whether the receiver continues to respond to actions while it is presenting a view controller modally.
Defaults to YES. You can change the default return value by providing a value for UIViewControllerPerformsActionsWhilePresentingModally in your Info.plist file.
pub fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>
pub fn isModalInPresentation(&self) -> bool
Sourcepub fn setModalInPresentation(&self, modal_in_presentation: bool)
pub fn setModalInPresentation(&self, modal_in_presentation: bool)
Setter for isModalInPresentation.
pub fn unregisterForPreviewingWithContext( &self, previewing: &ProtocolObject<dyn UIViewControllerPreviewing>, )
pub fn childViewControllerForScreenEdgesDeferringSystemGestures( &self, ) -> Option<Retained<UIViewController>>
pub fn setNeedsUpdateOfScreenEdgesDeferringSystemGestures(&self)
pub fn childViewControllerForHomeIndicatorAutoHidden( &self, ) -> Option<Retained<UIViewController>>
pub fn prefersHomeIndicatorAutoHidden(&self) -> bool
pub fn setNeedsUpdateOfHomeIndicatorAutoHidden(&self)
pub fn childViewControllerForPointerLock( &self, ) -> Option<Retained<UIViewController>>
pub fn prefersPointerLocked(&self) -> bool
pub fn setNeedsUpdateOfPrefersPointerLocked(&self)
Requests the view update its content unavailable configuration for its current state. This method is called automatically
when the view’s contentUnavailableConfigurationState may have changed, as well as in other circumstances where an
update may be required. Multiple requests may be coalesced into a single update at the appropriate time.
Sourcepub fn childViewControllerForInterfaceOrientationLock(
&self,
) -> Option<Retained<UIViewController>>
pub fn childViewControllerForInterfaceOrientationLock( &self, ) -> Option<Retained<UIViewController>>
Override to return a child view controller or nil. If non-nil, that view controller’s preference for interface orientation lock will be used. If nil, self is used.
Whenever the return value changes, call setNeedsUpdateOfPrefersInterfaceOrientationLocked().
Sourcepub fn prefersInterfaceOrientationLocked(&self) -> bool
pub fn prefersInterfaceOrientationLocked(&self) -> bool
Whether this view controller prefers the scene’s interface orientation to be locked when shown. The default is NO. Note that this preference may or may not be honored.
See UIWindowScene.Geometry for the current state of interface orientation lock.
Sourcepub fn setNeedsUpdateOfPrefersInterfaceOrientationLocked(&self)
pub fn setNeedsUpdateOfPrefersInterfaceOrientationLocked(&self)
Call whenever the view controller’s preference for interface orientation lock has changed
pub fn previewActionItems( &self, ) -> Retained<NSArray<ProtocolObject<dyn UIPreviewActionItem>>>
pub fn traitOverrides(&self) -> Retained<ProtocolObject<dyn UITraitOverrides>>
Sourcepub fn updateTraitsIfNeeded(&self)
pub fn updateTraitsIfNeeded(&self)
Forces an immediate trait update for this view controller and its view, including any view controllers and views in this subtree. Any trait change callbacks are sent synchronously.
pub fn preferredContainerBackgroundStyle(&self) -> UIContainerBackgroundStyle
pub fn childViewControllerForPreferredContainerBackgroundStyle( &self, ) -> Option<Retained<UIViewController>>
pub fn setNeedsUpdateOfPreferredContainerBackgroundStyle(&self)
Methods from Deref<Target = UIResponder>§
pub fn nextResponder(&self) -> Option<Retained<UIResponder>>
pub fn canBecomeFirstResponder(&self) -> bool
pub fn becomeFirstResponder(&self) -> bool
pub fn canResignFirstResponder(&self) -> bool
pub fn resignFirstResponder(&self) -> bool
pub fn isFirstResponder(&self) -> bool
Sourcepub unsafe fn canPerformAction_withSender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> bool
pub unsafe fn canPerformAction_withSender( &self, action: Sel, sender: Option<&AnyObject>, ) -> bool
§Safety
actionmust be a valid selector.sendershould be of the correct type.
Sourcepub unsafe fn targetForAction_withSender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> Option<Retained<AnyObject>>
pub unsafe fn targetForAction_withSender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>
§Safety
actionmust be a valid selector.sendershould be of the correct type.
pub fn undoManager(&self) -> Option<Retained<NSUndoManager>>
pub fn editingInteractionConfiguration( &self, ) -> UIEditingInteractionConfiguration
pub fn textInputContextIdentifier(&self) -> Option<Retained<NSString>>
pub fn reloadInputViews(&self)
pub fn userActivity(&self) -> Option<Retained<NSUserActivity>>
Sourcepub fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
pub fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
Setter for userActivity.
pub fn updateUserActivityState(&self, activity: &NSUserActivity)
pub fn restoreUserActivityState(&self, activity: &NSUserActivity)
Sourcepub unsafe fn captureTextFromCamera(&self, sender: Option<&AnyObject>)
pub unsafe fn captureTextFromCamera(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
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
pub fn class(&self) -> &'static AnyClass
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.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.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,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
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§impl AsRef<AnyObject> for MFMailComposeViewController
impl AsRef<AnyObject> for MFMailComposeViewController
Source§impl AsRef<NSObject> for MFMailComposeViewController
impl AsRef<NSObject> for MFMailComposeViewController
Source§fn as_ref(&self) -> &UINavigationController
fn as_ref(&self) -> &UINavigationController
Source§impl AsRef<UIResponder> for MFMailComposeViewController
impl AsRef<UIResponder> for MFMailComposeViewController
Source§fn as_ref(&self) -> &UIResponder
fn as_ref(&self) -> &UIResponder
Source§impl AsRef<UIViewController> for MFMailComposeViewController
impl AsRef<UIViewController> for MFMailComposeViewController
Source§fn as_ref(&self) -> &UIViewController
fn as_ref(&self) -> &UIViewController
Source§impl Borrow<NSObject> for MFMailComposeViewController
impl Borrow<NSObject> for MFMailComposeViewController
Source§fn borrow(&self) -> &UINavigationController
fn borrow(&self) -> &UINavigationController
Source§impl Borrow<UIResponder> for MFMailComposeViewController
impl Borrow<UIResponder> for MFMailComposeViewController
Source§fn borrow(&self) -> &UIResponder
fn borrow(&self) -> &UIResponder
Source§impl Borrow<UIViewController> for MFMailComposeViewController
impl Borrow<UIViewController> for MFMailComposeViewController
Source§fn borrow(&self) -> &UIViewController
fn borrow(&self) -> &UIViewController
Source§impl ClassType for MFMailComposeViewController
impl ClassType for MFMailComposeViewController
Source§const NAME: &'static str = "MFMailComposeViewController"
const NAME: &'static str = "MFMailComposeViewController"
Source§type Super = UINavigationController
type Super = UINavigationController
Source§type ThreadKind = <<MFMailComposeViewController as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<MFMailComposeViewController as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for MFMailComposeViewController
impl Debug for MFMailComposeViewController
Source§impl Deref for MFMailComposeViewController
impl Deref for MFMailComposeViewController
Source§impl Hash for MFMailComposeViewController
impl Hash for MFMailComposeViewController
Source§impl NSObjectProtocol for MFMailComposeViewController
impl NSObjectProtocol for MFMailComposeViewController
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§impl RefEncode for MFMailComposeViewController
impl RefEncode for MFMailComposeViewController
Source§const ENCODING_REF: Encoding = <UINavigationController as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <UINavigationController as ::objc2::RefEncode>::ENCODING_REF
Source§impl UIContentContainer for MFMailComposeViewController
impl UIContentContainer for MFMailComposeViewController
fn preferredContentSizeDidChangeForChildContentContainer( &self, container: &ProtocolObject<dyn UIContentContainer>, )
fn systemLayoutFittingSizeDidChangeForChildContentContainer( &self, container: &ProtocolObject<dyn UIContentContainer>, )
Source§impl UIFocusEnvironment for MFMailComposeViewController
impl UIFocusEnvironment for MFMailComposeViewController
Source§fn preferredFocusEnvironments(
&self,
) -> Retained<NSArray<ProtocolObject<dyn UIFocusEnvironment>>>
fn preferredFocusEnvironments( &self, ) -> Retained<NSArray<ProtocolObject<dyn UIFocusEnvironment>>>
Source§fn parentFocusEnvironment(
&self,
) -> Option<Retained<ProtocolObject<dyn UIFocusEnvironment>>>
fn parentFocusEnvironment( &self, ) -> Option<Retained<ProtocolObject<dyn UIFocusEnvironment>>>
Source§fn focusItemContainer(
&self,
) -> Option<Retained<ProtocolObject<dyn UIFocusItemContainer>>>
fn focusItemContainer( &self, ) -> Option<Retained<ProtocolObject<dyn UIFocusItemContainer>>>
Source§fn setNeedsFocusUpdate(&self)
fn setNeedsFocusUpdate(&self)
[[UIFocusSystem focusSystemForEnvironment:self] requestFocusUpdateToEnvironment:self];Source§fn updateFocusIfNeeded(&self)
fn updateFocusIfNeeded(&self)
[[UIFocusSystem focusSystemForEnvironment:self] updateFocusIfNeeded];.Source§fn shouldUpdateFocusInContext(&self, context: &UIFocusUpdateContext) -> bool
fn shouldUpdateFocusInContext(&self, context: &UIFocusUpdateContext) -> bool
Source§fn soundIdentifierForFocusUpdateInContext(
&self,
context: &UIFocusUpdateContext,
) -> Option<Retained<NSString>>
fn soundIdentifierForFocusUpdateInContext( &self, context: &UIFocusUpdateContext, ) -> Option<Retained<NSString>>
Source§impl UIResponderStandardEditActions for MFMailComposeViewController
impl UIResponderStandardEditActions for MFMailComposeViewController
Source§unsafe fn makeTextWritingDirectionLeftToRight(&self, sender: Option<&AnyObject>)
unsafe fn makeTextWritingDirectionLeftToRight(&self, sender: Option<&AnyObject>)
Source§unsafe fn makeTextWritingDirectionRightToLeft(&self, sender: Option<&AnyObject>)
unsafe fn makeTextWritingDirectionRightToLeft(&self, sender: Option<&AnyObject>)
Source§impl UITraitEnvironment for MFMailComposeViewController
impl UITraitEnvironment for MFMailComposeViewController
fn traitCollection(&self) -> Retained<UITraitCollection>
Source§fn traitCollectionDidChange(
&self,
previous_trait_collection: Option<&UITraitCollection>,
)
fn traitCollectionDidChange( &self, previous_trait_collection: Option<&UITraitCollection>, )
impl DowncastTarget for MFMailComposeViewController
impl Eq for MFMailComposeViewController
impl UIAppearanceContainer for MFMailComposeViewController
Auto Trait Implementations§
impl !Freeze for MFMailComposeViewController
impl !RefUnwindSafe for MFMailComposeViewController
impl !Send for MFMailComposeViewController
impl !Sync for MFMailComposeViewController
impl !Unpin for MFMailComposeViewController
impl !UnwindSafe for MFMailComposeViewController
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