【发布时间】:2014-05-15 21:24:15
【问题描述】:
好吧,这让我发疯了。这是我的代码:
我下载了高级样式并将 iOS 放在C:\Users\Public\Documents\RAD Studio\11.0\Styles\iOS
begin
TStyleManager.SetStyleFromFile('iOSJet.style');
TStyleManager.SetStyleFromFileHiRes('iOSJet2x.style');
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.Run;
end
如果已将这两个文件添加到“部署”中
- iOSJet.style
- iOSJet2x.style
但我的应用仍然使用默认的 ios6 样式打开。当我单步执行代码时,会发生这种情况:
Result := False;
S := LoadFromFile(FileName);
if Assigned(S) then
begin
// Does NOT enter here?
Result := True;
SetStyle(S);
end;
令人困惑的是,我使用的是 Embarcadero 官方展示的代码:
- http://docwiki.embarcadero.com/Libraries/XE4/en/FMX.Styles.TStyleManager.SetStyleFromFile
- http://blog.marcocantu.com/blog/couple_tips_xe4_fmx_styles.html
有没有人让样式起作用?如果是这样,具体是怎样的?
【问题讨论】:
-
您看到表单设计器中应用的新样式了吗?
-
您需要将样式文件部署到设备,然后将完整文件路径传递给 SetStyleFromFile。最好将文件作为资源包含进来,并从资源中读取到系统样式中。
-
@DougRudd 是的 - 是的。
-
@MikeSutton 我认为使用 TStyleBook 就足够了。谢谢!
-
TStyleBook 仅设置放置它的表单的样式。此外,您还需要将表单的 StyleBook 属性设置为指向它(我不记得 XE4 上的 HiRes 样式会发生什么 - 可能是 StyleBookHiRes 属性?)。
标签: ios delphi firemonkey delphi-xe4