안녕하세요.
델파이로 앱을 개발중인데, 사용자가 기기를 회전할 시에 일반 화면에서는 세로모드 고정으로 하고
특정화면에서만 회전을 가능하게 하려합니다.
예)
Tab1 : 세로모드 고정
Tab2 : 세로모드 고정
Tab3 : 세로/가로 자유모드
그래서 아래와 같은 함수를 만들어서 Android 에서 정상적으로 사용을 했었습니다.
//--------------------------------------------------------------------------
//화면 가로 세로 사이즈 모드 전환
//Mode = 세로고정, 자유모드
//--------------------------------------------------------------------------
procedure Tfrm_Base.SetScreenControl(Mode: string);
var
ScreenService : IFMXScreenService;
ScreenOrientations : TScreenOrientations;
begin
if Mode = '세로고정' then
begin
{ Portrate로 고정 }
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
ScreenOrientations := [ TScreenOrientation.Portrait ];
ScreenService.SetSupportedScreenOrientations( ScreenOrientations );
end;
end;
if Mode = '자유모드' then
begin
{ 자유모드 }
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
ScreenOrientations := [];
ScreenService.SetSupportedScreenOrientations( ScreenOrientations );
end;
end;
end;
그런데 IOS 에서는 안되더군요.
위 함수로 앱실행중에 동적으로 모드 변경이 안됩니다. (안드로이드에서는 잘 됩니다)
델파이 에서 보통 초기 방향설정을 Project Option -> Application -> Orientation 에서 설정하게 됩니다.
[v]Enable custom orientation
[v]Portrait
위와 같이 Project Option 설정에서 지정한 대로만 IOS에는 인식이 되고,
앱실행중에는 위 함수처럼 회전 모드를 변경하는 것이 안됩니다.
질문
가을이다
안녕하세요.
델파이로 앱을 개발중인데, 사용자가 기기를 회전할 시에 일반 화면에서는 세로모드 고정으로 하고
특정화면에서만 회전을 가능하게 하려합니다.
예)
Tab1 : 세로모드 고정
Tab2 : 세로모드 고정
Tab3 : 세로/가로 자유모드
그래서 아래와 같은 함수를 만들어서 Android 에서 정상적으로 사용을 했었습니다.
//--------------------------------------------------------------------------
//화면 가로 세로 사이즈 모드 전환
//Mode = 세로고정, 자유모드
//--------------------------------------------------------------------------
procedure Tfrm_Base.SetScreenControl(Mode: string);
var
ScreenService : IFMXScreenService;
ScreenOrientations : TScreenOrientations;
begin
if Mode = '세로고정' then
begin
{ Portrate로 고정 }
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
ScreenOrientations := [ TScreenOrientation.Portrait ];
ScreenService.SetSupportedScreenOrientations( ScreenOrientations );
end;
end;
if Mode = '자유모드' then
begin
{ 자유모드 }
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
ScreenOrientations := [];
ScreenService.SetSupportedScreenOrientations( ScreenOrientations );
end;
end;
end;
그런데 IOS 에서는 안되더군요.
위 함수로 앱실행중에 동적으로 모드 변경이 안됩니다. (안드로이드에서는 잘 됩니다)
델파이 에서 보통 초기 방향설정을 Project Option -> Application -> Orientation 에서 설정하게 됩니다.
[v]Enable custom orientation
[v]Portrait
위와 같이 Project Option 설정에서 지정한 대로만 IOS에는 인식이 되고,
앱실행중에는 위 함수처럼 회전 모드를 변경하는 것이 안됩니다.
안드로이드에서는 잘 동작합니다.
혹시 IOS에서는 다른 부분을 더 설정해야하는 부분이 있는지요?
아니면 델파이 11버전의 버그일까요?
도움 부탁드립니다.
[환경]
Delphi 11.0
IOS 13.7
이 댓글 링크
다른 사이트에 공유하기
0 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.