FireMonkey在ARM架构Mac上组件显示过大问题求助
FireMonkey应用在ARM架构Mac上组件显示过大的解决方案
针对你遇到的FireMonkey应用在Apple Silicon Mac上GUI组件缩放异常问题,整理了以下实用解决办法:
检查高DPI相关项目设置
- 打开
Project > Options > Application > Manifest,勾选Enable High-DPI,并将Per-Monitor DPI Awareness设为Per Monitor V2(若该选项可用) - 切换到
macOS > Application标签页,确认High Resolution Capable已勾选
- 打开
强制适配Mac平台的缩放逻辑
在主窗体的OnCreate事件中加入以下代码,手动指定缩放规则:procedure TMainForm.FormCreate(Sender: TObject); begin if TOSVersion.Platform = pfMacOS then begin FMX.Forms.Application.Scaling.Mode := TScalingMode.System; Self.ScaleForPPI(Screen.PixelsPerInch); end; end;重置组件手动缩放属性
检查所有组件的Scale.X和Scale.Y属性,确保值为1.0,避免手动缩放干扰FireMonkey的自动适配逻辑。升级RAD Studio版本
旧版RAD Studio对Apple Silicon的FireMonkey缩放支持存在bug,建议升级到RAD Studio 11 Alexandria或更高版本,官方已在后续版本中修复了大量ARM平台兼容问题。优化窗体布局设置
基于96 DPI设计窗体尺寸,优先使用Align、Anchor或Layout组件实现自适应布局,减少固定尺寸的使用,让组件随窗体缩放自动调整。
效果对比
Windows/Android正常显示:
ARM Mac异常显示:
内容的提问来源于stack exchange,提问作者Oscar
相关产品推荐
相关产品推荐

