weex默认情况下,会根据屏幕尺寸来放大字体,源码如下:
+ (WXPixelType)WXPixelType:(id)value scaleFactor:(CGFloat)scaleFactor
{
CGFloat pixel = [self CGFloat:value];
if ([value isKindOfClass:[NSString class]] && [value hasSuffix:@"wx"]) {
return pixel;
}
return pixel * scaleFactor;
}
而scaleFacto
r的计算为:
+ (CGFloat)defaultPixelScaleFactor
{
if ([[UIDevice currentDevice].model isEqualToString:@"iPad"]) {
return [self portraitScreenSize].width / WXDefaultScreenWidth;
}
static CGFloat defaultScaleFactor;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
defaultScaleFactor = [self portraitScreenSize].width / WXDefaultScreenWidth;
});
return defaultScaleFactor;
}
从源码可知,就是屏幕竖直时,屏幕宽度/750 (750是weex写界面时候的基准宽度)
因此,只要设置为wx
即可不受scaleFactor
的影响。