Xcode Storyboard预览与模拟器按钮文本显示不一致问题排查
针对你遇到的Storyboard/预览显示正常,但iPhone13 Pro模拟器中按钮文本显示异常的问题,可按以下方向排查解决:
检查自动布局约束
确保按钮有明确的宽度约束,比如固定宽度、与父视图的左右间距约束,避免运行时按钮被压缩。也可在Size Inspector中调整按钮的Content Hugging Priority(水平设为251)和Content Compression Resistance Priority(水平设为751),让按钮优先适配文本内容。排查字体适配问题
若使用自定义字体,确认已将字体文件添加到项目,并在Info.plist的Fonts provided by application键中填入对应文件名。如果是系统字体,可尝试勾选Dynamic Type适配系统设置,或固定合适的字体大小,避免文本因字体加载失败或大小适配异常导致显示问题。调整按钮内边距
在Attributes Inspector的Control区域,检查并调整按钮的Content Insets上下左右值,给文本预留足够的显示空间。同时排查是否有代码在运行时修改了按钮的内边距,覆盖了Storyboard的设置。清理模拟器缓存
点击模拟器菜单Hardware->Erase All Content and Settings,或重启模拟器后重新运行项目,排除缓存导致的显示异常。检查代码修改
排查viewDidLoad、viewWillLayoutSubviews等生命周期方法中,是否有代码修改了按钮的frame、文本字体、行数等属性,注释可疑代码后逐步测试定位问题。
内容的提问来源于stack exchange,提问作者SayMyName

