Pergunta

Quero que minha subclasse UIView se comporte para que, quando for instalada na orientação de retrato, tenha um certo tamanho e outro tamanho quando instalado no modo paisagem.

É possível que a exibição indique ao controlador de exibição que a redimensiona quando a orientação muda que ela tem esse "tamanho ideal"?

Para esclarecer, estou confiante de que isso não é algo que pode ser feito com a máscara automática. Eu também pensei que sizethatfits: seria o que eu preciso, mas não o vi chamado quando a orientação mudou.

Também estou ciente de que posso fazer isso substituindo o LayoutSubViews da supervisão (ou talvez algum outro método do controlador de exibição, mas gostaria de ter esse comportamento incorporado na visão para facilitar a reutilização.

Foi útil?

Solução

Você recebe várias mensagens quando o dispositivo gira:

- shouldAutorotateToInterfaceOrientation:;
- willRotateToInterfaceOrientation:duration:;
- didRotateFromInterfaceOrientation:

Você pode usá-los para re-agir sua visualização quando o usuário girar.

Se você não deseja usar um controlador de exibição, pode se registrar para a notificação UideviceRientationDidChangenotification.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top