我以为XE4中会出现OnRotate事件,但似乎使用了OnResize。知道了。

但是,我需要确定设备的方向。我敢肯定这很简单,但Google帮不上忙!

最佳答案

要检测设备的当前方向,可以使用 statusBarOrientation 类的一部分UIApplication方法。

试试这个样本

uses
  iOSapi.UIKit;

function SharedApplication:UIApplication;
begin
  Result:=TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication);
end;

procedure TForm23.Button1Click(Sender: TObject);
var
  LOrientation: Cardinal;
begin
  LOrientation := SharedApplication.statusBarOrientation;
  if (LOrientation = UIDeviceOrientationLandscapeLeft) or (LOrientation = UIDeviceOrientationLandscapeRight) then
    ShowMessage('Landscape')
  else
  if (LOrientation = UIInterfaceOrientationPortrait) then
    ShowMessage('Portrait');
end;

10-08 06:51