英文:
iOS simulator looks different than TestFlight
问题
我对Flutter相对新手,我在开发的应用中遇到了一些问题。有没有人知道为什么我的应用在我的iOS模拟器和TestFlight中看起来不一样?有几个测试者,只有在我的手机上看起来不好,在其他人的设备上看起来很正常,我该如何避免这个问题?我可能在其他设备上也会遇到问题吗?
我需要两个屏幕看起来一样。
英文:
I am relatively new to flutter and I'm having some issues with the app that I'm working on. Does anyone know why my app looks different in my ios simulator than in test flight, there are several testers and it only looks bad on my phone, on others it looks good, how can I avoid this problem? Could I have problems in other devices?
I need that both screen can look the same way
答案1
得分: 0
这似乎与手机的可访问性设置有关。
在iOS上,这些设置可以在以下位置找到:
设置 > 辅助功能 > 显示与文本大小
影响此设置的选项有:
- 粗体文本
- 更大的文本(以及更大的辅助功能大小)
这些设置会修改您的 MediaQuery
的 textScaleFactor
。
解决方案:
- 创建一个可以处理一定文本大小的布局。
- 根据需要限制您应用程序的最大
textScaleFactor
:
示例代码:
MediaQuery(
data: mediaQuery.copyWith(
/// 确定您的最大 textScaleFactor,此处仅作为示例使用 1.25。
textScaleFactor: mediaQuery.textScaleFactor.clamp(1.0, 1.25),
),
child: Scaffold(body: child),
)
英文:
This seems to be related to the Accessibility settings of the phones.
On iOS, these settings are found under:
Settings > Accessibility > Display & Text Size
Options that affect this:
- Bold Text
- Larger Text (and Larger Accessibility Sizes)
These settings will modify the textScaleFactor
of your MediaQuery
.
Solution:
- Create a layout that can handle up to a certain text size.
- Limit the maximum
textScaleFactor
of your application as needed:
Sample code:
MediaQuery(
data: mediaQuery.copyWith(
/// Determine your maximum textScaleFactor, I use 1.25 as an example.
textScaleFactor: mediaQuery.textScaleFactor.clamp(1.0, 1.25),
),
child: Scaffold(body: child),
)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论