在 iOS 中横向打开项目在 Delphi XE8 中无法正确显示
Opening a project in landscape in iOS doesn't display correctly in Delphi XE8
当我在 iOS 中横向打开我的项目时,表格似乎向右旋转了 90 度,而且也不适合屏幕。
当我以纵向方式打开它时,我没有遇到任何问题。另外,当我将它转为横向时,它显示正确。
有人对此有解决方案吗?
更新:
我已经下载了 XCode 5.1.1 所以我可以编译 iOS 7.1
这解决了旋转问题,但现在它不会填满整个屏幕。
这显然是 XE8 中的一个错误,它似乎主要发生在较大的程序中,并且可能与 TMS iCL 组件结合使用。至少目前还没有人做出可以重现问题的小程序。我也遇到过这个问题,我 "solved" 解决了这个问题。
参见 this bug report and this 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;
我正在使用 FXG 组件 ActivityDialog。我在出现问题的 formCreate 方法中使用了这个组件。通过将其从 formCreate 中移除并将其移动到 formActivate 中,问题得到解决。
当我在 iOS 中横向打开我的项目时,表格似乎向右旋转了 90 度,而且也不适合屏幕。
当我以纵向方式打开它时,我没有遇到任何问题。另外,当我将它转为横向时,它显示正确。
有人对此有解决方案吗?
更新: 我已经下载了 XCode 5.1.1 所以我可以编译 iOS 7.1 这解决了旋转问题,但现在它不会填满整个屏幕。
这显然是 XE8 中的一个错误,它似乎主要发生在较大的程序中,并且可能与 TMS iCL 组件结合使用。至少目前还没有人做出可以重现问题的小程序。我也遇到过这个问题,我 "solved" 解决了这个问题。
参见 this bug report and this 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;
我正在使用 FXG 组件 ActivityDialog。我在出现问题的 formCreate 方法中使用了这个组件。通过将其从 formCreate 中移除并将其移动到 formActivate 中,问题得到解决。