Cel c - tryb orientacji UIActivityViewController

Moja aplikacja na iPhone'a obsługuje tylko orientację pionową, z wyjątkiem jednego kontrolera widoku, który prezentuje zdjęcia, a także obsługuje tryb poziomy.

Tak więc ogólnie mój projekt obsługuje wszystkie orientacje, ale każdy kontroler widoku (z wyjątkiem kontrolera widoku zdjęć) implementuje metodę:

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

Problem:

W jednym z moich (tylko portretowych) kontrolerów widoku używamUIActivityViewController aby pozwolić użytkownikowi wybrać udostępnianie treści za pośrednictwem wiadomości e-mail lub SMS.

Gdy użytkownik wybierze opcję e-mail, automatycznie wyświetli kontroler natywnego widoku e-mail ios.

Jeśli użytkownik zmieni teraz orientację urządzenia na poziomą, kontroler widoku wiadomości e-mail również zmieni się na krajobraz, a teraz, jeśli użytkownik dotknie przycisku anuluj / wyślij, kontroler poczty zostanie zwolniony, a teraz moja cała aplikacja znajduje się w krajobrazie!

Czy istnieje sposób, aby zmusić kontroler widoku eamil do działania tylko w trybie portretowym?

Wiem, że mogę utworzyć własny kontroler i podklasę widoku e-mailUIActivity pokazać to, ale niżUIActivityViewController nie pokaże domyślnej ikony wiadomości e-mail, gdy jest prezentowana, i naprawdę podoba mi się jej wyświetlanie, a nie inna (musi być szara) ikona, którą udostępnię.

questionAnswers(4)

yourAnswerToTheQuestion