当我在 iOS 中横向打开我的项目时,表单似乎向右旋转了 90 度,并且也不适合屏幕。
当我以纵向打开它时,我没有遇到任何问题。此外,当我将其转为横向时,它会正确显示。
有人对此有解决方案吗?
更新: 我已经下载了 XCode 5.1.1,所以我可以编译 iOS 7.1 这解决了旋转问题,但现在它并没有填满整个屏幕。
当我在 iOS 中横向打开我的项目时,表单似乎向右旋转了 90 度,并且也不适合屏幕。
当我以纵向打开它时,我没有遇到任何问题。此外,当我将其转为横向时,它会正确显示。
有人对此有解决方案吗?
更新: 我已经下载了 XCode 5.1.1,所以我可以编译 iOS 7.1 这解决了旋转问题,但现在它并没有填满整个屏幕。
这显然是 XE8 中的一个错误,它似乎主要发生在较大的程序中,并且可能与 TMS iCL 组件结合使用。至少目前还没有人制作出可以重现该问题的小程序。我也遇到了这个问题,我用一种解决方法“解决”了它。
请参阅此错误报告和此论坛问题(如果您可以在服务器启动时捕获它)。两者都描述了各种修复和解决方法。
编辑: 我能够在一个小程序中重现该错误,似乎至少 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 中,问题就解决了。