Цель c - режим ориентации UIActivityViewController

Приложение для iPhone разработано для поддержки только портретной ориентации, за исключением одного контроллера представления, который представляет фотографии, а также поддерживает альбомный режим.

Таким образом, в целом мой проект поддерживает все ориентации, но каждый контроллер представления (кроме контроллера представления фотографий) реализует метод:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}  

Проблема:

В одном из моих (только портретных) контроллеров просмотра я используюUIActivityViewController чтобы позволить пользователю выбрать обмен контентом через электронную почту или SMS.

Когда пользователь выбирает параметр электронной почты, он автоматически отображает контроллер представления электронной почты ios.

Если пользователь теперь меняет ориентацию устройства на альбомную, контроллер представления электронной почты также меняется на альбомную, теперь, если пользователь нажимает кнопку отмены / отправки, контроллер электронной почты отклоняется, и теперь все мое приложение находится в альбомной ориентации!

Есть ли способ заставить контроллер вида eamil работать только в портретном режиме?

Я знаю, что могу создать свой собственный контроллер представления электронной почты и подклассUIActivity чтобы показать это, но чемUIActivityViewController не будет отображаться значок электронной почты по умолчанию при его представлении, и мне действительно нравится, когда он отображается, а не какой-либо другой (должен быть серый) значок, который я предоставлю.

Ответы на вопрос(4)

Ваш ответ на вопрос