【问题标题】:Opening a project in landscape in iOS doesn't display correctly in Delphi XE8在 iOS 中横向打开项目在 Delphi XE8 中无法正确显示
【发布时间】:2015-08-18 22:13:57
【问题描述】:

当我在 iOS 中以横向方式打开项目时,表单似乎向右旋转了 90 度,而且也不适合屏幕。

当我以纵向打开它时,我没有遇到任何问题。此外,当我将其转为横向时,它也能正确显示。

有人对此有解决方案吗?

更新: 我已经下载了 XCode 5.1.1,所以我可以编译 iOS 7.1 这解决了旋转问题,但现在它不会填满整个屏幕。

【问题讨论】:

标签: ios delphi firemonkey delphi-xe8


【解决方案1】:

这显然是 XE8 中的一个错误,似乎主要发生在较大的程序中,并且可能与 TMS iCL 组件结合使用。至少目前还没有人制作出可以重现该问题的小程序。我也遇到了这个问题,我用一种变通方法“解决”了它。

查看this bug reportthis forum question(如果您可以在服务器启动时捕获它)。两者都描述了各种修复和解决方法。

编辑: 我能够在一个小程序中重现该错误,似乎至少 iCL FMX 包装器会导致此错误发生。也只有当目标是 iOS 8 时才会发生。我联系了 TMS,他们确认他们可以重现它并将修复它。在那之前,您可以通过在第一次显示包装器时创建它来解决它:

TForm = class
  ...
  fWrapper: TTMSFMXNativeFMXWrapper;
  ...
end;

procedure TForm.FormShow(Sender: TObject);
begin
  if not Assigned(fWrapper) then
  begin
    fWrapper := TTMSFMXNativeFMXWrapper.Create(Self);
    fWrapper.Form := MyWrappedFMXForm;
    fWrapper.Parent := MyParentView;
  end;
end;

【讨论】:

    【解决方案2】:

    我正在使用 FXG 组件 ActivityDialog。我在导致问题的 formCreate 方法中使用了这个组件。通过将其从 formCreate 中移除并将其移至 formActivate,问题就解决了。

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多