Delphi / Firemonkey Alterar a rotação da tela do iOS em tempo de execução
basicamente, tudo o que eu quero alcançar é quando um usuário está em uma determinada parte do aplicativo para alterar a rotação da tela conforme necessário, tenho isso funcionando para o Andriod e não consigo entender por que ele não deve funcionar no iOS
procedure TForm1.Button1Click(Sender: TObject);
var
ScreenService: IFMXScreenService;
OrientSet: TScreenOrientations;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService))
then
begin
OrientSet := [TScreenOrientation.soLandscape];//<- Break point set here and line is executed
ScreenService.SetScreenOrientation(OrientSet);
end;
end;
Retirado daqui:Como impedir a rotação da tela com o desenvolvimento do Android no delphi xe5 Firemonkey
O ScreenService.SetScreenOrientation é executado e não gera uma exceção, mas a orientação não é alterada, eu também configureiAtivar orientação personalizada em Projeto> Opções> Aplicativo> Orientação, mas isso também não teve nenhum efeito.
O que é estranho para mim é que, se não foi suportado, isso não deveria
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService))
Retorna falso? e nem mesmo entrar no começo
Adicionei um botão de teste para verificar a orientação da tela depois de configurá-la para paisagem somente com
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService))
then
begin
case ScreenService.GetScreenOrientation of
TScreenOrientation.Portrait: ShowMessage('Portrait');
TScreenOrientation.Landscape: ShowMessage('landscape');
TScreenOrientation.InvertedPortrait: ShowMessage('Inverted-Portrait');
TScreenOrientation.InvertedLandscape: ShowMessage('Inverted-Landscape');
else ShowMessage('not set');
end;
end;
E se estava em Retrato depois de configurá-lo para Paisagem, ainda diz Retrato
Atualização 1 : Eu também tentei mudar
OrientSet := [TScreenOrientation.soLandscape] // <- Deprecated
para
OrientSet := [TScreenOrientation.Landscape]
mas o comportamento ainda é o mesmo