React Native字体缩放的最大值

时间:2018-03-26 18:07:32

标签: react-native text scaling

我知道我可以通过将AnotherViewController放在根组件的构造函数中(即在根index.js或App.js文件中),在我的React Native应用程序中全局禁用字体缩放。但是,有没有办法允许最大值进行缩放,而不是完全禁用它?

我已经尝试UIWebView认为它会阻止文本扩展到非常大的尺寸(它确实如此),但是现在所有文本都变得太小而且会破坏应用程序的样式。 / p>

我已尝试将class AnotherViewController: UIViewController { var urlString: String? @IBOutlet weak var webView: UIWebView! override func viewDidLoad() { super.viewDidLoad() if let urlString = self.urlString, let url = URL(string: urlString) { self.webView.loadRequest(URLRequest(url: url)) } } } 与上面的Text.defaultProps.allowFontScaling = false结合使用,因为根据the docsadjustsFontSizeToFit = true"指定字体可以缩放的最小尺度启用adjustsFontSizeToFit时达到。"我将此值设置为minimumFontScale,但文本仍然可以扩展到一个非常难以理解的大小(例如,如果"更大的辅助功能大小"在iOS中启用并设置为最大比例)并设置它较低的值(例如adjustsFontSizeToFit)允许文本合理地适合我的应用程序,但间距和相对大小会被破坏。

如果文本保持默认大小,并且仍然可以使用"辅助功能大小"在iOS中启用,但仅限于某一点 - 有没有办法实现这一目标?

2 个答案:

答案 0 :(得分:1)

在react native 0.58+中,您可以在文本组件https://facebook.github.io/react-native/docs/text#maxfontsizemultiplier内使用新的prop maxFontSizeMultiplier

答案 1 :(得分:0)

您可以使用

allowFontScaling={false}

以及

Math.min(PixelRatio.getFontScale() * yourFontSizeBase, yourFontSizeBase)

以限制最大字体大小。