我使用柏林为iOS创建移动应用程序并遇到一些问题。质量属性在主窗体上设置为HighPerfomance(使用设计时间模式)。这是我使用的代码:
constructor TfmMain.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Quality := TCanvasQuality.HighQuality;
end;
属性更改并等于HighQuality,但控件和行看起来不正确。如果我在Object Inspector中更改属性似乎都正常工作,控件和行看起来很好。您能否告诉我,如何在运行时更改质量?
因此,经过一些调查后,我重写了这个方法:
procedure TfmMain.InitializeNewForm;
begin
Quality := TCanvasQuality.HighQuality;
inherited;
end;
现在一切都很好看。谢谢大家。
答案 0 :(得分:0)
最有可能发生的是:您的值在构造函数中设置正确,然后FMX进行流式处理,FMX中的值将覆盖您以编程方式设置的值。
在表单的FMX中设置值的正确位置将被覆盖"已加载"过程
procedure TfmMain.Loaded;
begin
inherited;
Quality := TCanvasQuality.HighQuality;
end;
这是我最好的猜测。
答案 1 :(得分:-1)
我不知道柏林的iOS开发,但这段代码:
{$IFDEF RELEASE}
Quality := TCanvasQuality.HighQuality;
{$ENDIF}
仅在发布模式下执行,如果您尝试在调试中为HighQuality
对象设置Quality
,请尝试使用括号删除代码。
编辑:
答案无关紧要,因为OP告诉他理解$IFDEF
的概念并从他的代码中删除该部分。