我知道我可以通过将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 docs,adjustsFontSizeToFit = true
"指定字体可以缩放的最小尺度启用adjustsFontSizeToFit时达到。"我将此值设置为minimumFontScale
,但文本仍然可以扩展到一个非常难以理解的大小(例如,如果"更大的辅助功能大小"在iOS中启用并设置为最大比例)并设置它较低的值(例如adjustsFontSizeToFit
)允许文本合理地适合我的应用程序,但间距和相对大小会被破坏。
如果文本保持默认大小,并且仍然可以使用"辅助功能大小"在iOS中启用,但仅限于某一点 - 有没有办法实现这一目标?
答案 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)
以限制最大字体大小。