在使用了flutter开发后,设计发现iOS设备上字体偏小,但是各种查也没发现是什么问题,最后看到了这篇文章:
https://blog.csdn.net/studying_ios/article/details/106199143
然后尝试将字体跟随系统给禁止掉,在给设计去看ui,字体就不偏小了。
flutter通过设置Text
的textScaleFactor
属性,可以禁用掉局部字体随系统变化的这个功能。
也可以通过设置MediaQuery
的MediaQueryData
的textScaleFactor
来禁用全局的这个功能。
由于我们是swift与flutter混合开发,使用了flutterBoost,在app的builder处是这样的
builder: FlutterBoost.init()
导致无法renten MediaQuery,最后是这样解决的
class EntryApp extends StatelessWidget {
const EntryApp({Key key, @required this.builder}) : super(key: key);
final TransitionBuilder builder;
@override
Widget build(BuildContext context) {
return CupertinoApp(
...
builder: (BuildContext context, Widget child) {
return MediaQuery(
data: MediaQuery.of(context)
.copyWith(textScaleFactor: 1.0, boldText: false),
child: Builder(builder: (BuildContext context) {
return builder(context, child);
}),
);
},
);
}
}
// EntryApp builder 外部传参:FlutterBoost.init()