Objetivo c - modo de orientação UIActivityViewController

Meu aplicativo para iPhone é projetado para oferecer suporte apenas a orientação retrato, exceto um controlador de exibição que apresenta fotos e também suporta o modo paisagem.

Portanto, no geral, meu projeto suporta todas as orientações, mas cada controlador de visualização (exceto o controlador de visualização de fotos) implementa o método:

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

O problema:

Em um dos meus (apenas retrato) controlador de visualização, estou usandoUIActivityViewController para permitir que o usuário escolha compartilhar conteúdo por email ou SMS.

Quando o usuário escolhe a opção de email, ele mostra automaticamente o controlador nativo de visualização de email ios.

Se o usuário agora alterar a orientação do dispositivo para paisagem, o controlador de visualização de e-mail também mudará para paisagem, agora se o usuário tocar no botão cancelar / enviar, o controlador de e-mail for descartado e agora meu aplicativo está na paisagem!

Existe uma maneira de forçar o controlador de visualização eamil a estar apenas no modo retrato?

Eu sei que posso criar meu próprio controlador e subclasse de visualização de emailUIActivity para mostrá-lo, mas que oUIActivityViewController não mostrará o ícone de e-mail padrão quando apresentado, e eu realmente gosto que ele mostre e não algum outro ícone (deve ser cinza) que eu vou fornecer.

questionAnswers(4)

yourAnswerToTheQuestion