繁体   English   中英

Delphi-XE4 FireMonkey样式和iOS

[英]Delphi-XE4 FireMonkey Styles and iOS

好吧,这真让我发疯。 这是我的代码:

我下载了高级样式并将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正式显示的代码:

有人有工作的风格吗? 如果是这样,究竟如何?

这似乎有效

procedure msSetupStyles;
var
  vAppDataDirPathRoot: string;
  vAppDataDirPathExec: string;
  vStylePath: string;
  vAppTitle: string;
  AppService: IFMXApplicationService;
begin
  vAppTitle := Application.Title;
  if vAppTitle = '' then
    begin
      if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationService, IInterface(AppService)) then
        begin
          vAppTitle := AppService.GetTitle;
        end
      ;
    end
  ;
  vAppDataDirPathRoot := TPath.GetHomePath + PathDelim;
  vAppDataDirPathExec := vAppDataDirPathRoot + vAppTitle + '.app' + PathDelim; 
  //--
  vStylePath := vAppDataDirPathExec + 'iOSJet.style';
  if FileExists(vStylePath) then
    begin
      TStyleManager.SetStyleFromFile(vStylePath);
      vStylePath := vAppDataDirPathExec + 'iOSJet2x.style';
      if FileExists(vStylePath) then
        begin
          TStyleManager.SetStyleFromFileHiRes(vStylePath);
        end
      ;
    end
  ;
end;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM