Описание тега mfmailcomposeviewcontroller
Как упоминалось здесь
В
MFMailComposeViewController
class предоставляет стандартный интерфейс, который управляет редактированием и отправкой электронного письма. Вы можете использовать этот контроллер представления для отображения стандартного представления электронной почты внутри вашего приложения и заполнения полей этого представления начальными значениями, такими как тема, получатели электронной почты, основной текст и вложения. Пользователь может отредактировать указанное вами исходное содержимое и выбрать отправку электронного письма или отменить операцию.Использование этого интерфейса не гарантирует немедленную доставку соответствующего сообщения электронной почты. Пользователь может отменить создание сообщения, и если пользователь все же решит отправить сообщение, оно будет помещено в очередь только в папке исходящих почтового приложения. Это позволяет создавать электронные письма даже в ситуациях, когда у пользователя нет доступа к сети, например, в режиме полета. Этот интерфейс не дает вам возможности проверить, действительно ли электронные письма были отправлены.
Перед использованием этого класса вы всегда должны проверять, настроено ли текущее устройство для отправки электронной почты вообще с помощью метода canSendMail. Если устройство пользователя не настроено для доставки электронной почты, вы можете уведомить пользователя или просто отключить функции отправки электронной почты в своем приложении. Не следует пытаться использовать этот интерфейс, если метод canSendMail возвращает NO.
Чтобы отобразить представление, управляемое этим контроллером представления, вы можете использовать любой из стандартных методов отображения контроллеров представления. Однако наиболее распространенный способ представить этот интерфейс - сделать это модально с помощью метода presentModalViewController:animated:. На экране 1 показано представление, которое отображается, когда вы представляете интерфейс составления почты, с некоторыми уже заполненными полями. Дополнительные сведения об отображении представлений, связанных с контроллерами представлений, см. В Руководстве по программированию контроллера представления для iOS.
Важно: иерархия представлений этого класса является частной, и вы не должны ее изменять. Однако вы можете настроить внешний вид экземпляра, используя протокол UIAppearance. После представления контроллера представления для составления почты ваше приложение не может изменять содержимое электронной почты. Пользователь может редактировать содержимое представленного экземпляра, но система игнорирует программные изменения. Если вы хотите установить значения для полей содержимого, сделайте это перед представлением интерфейса.