首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用动态类型( WebView )自动更改本机WebView中字体的大小

使用动态类型( WebView )自动更改本机WebView中字体的大小
EN

Stack Overflow用户
提问于 2022-04-05 00:30:59
回答 1查看 519关注 0票数 1

我维护了一个混合的react-原生 (0.66.3)移动应用程序,它基本上是一个外壳,很好地包装了我们的网络应用程序。这种开发一次并在移动和web平台上重用的方法非常适合我们的用例。

最近我注意到了可访问性方面的一个问题。iOS有一个可访问性特性,允许用户选择他们喜欢的文本大小,这可以帮助需要更大文本的用户获得更好的可读性。(自动)

不幸的是,iOS版本的混合反应-本机应用程序不尊重这个设置,也没有适当地改变其文本大小。iOS应用程序的shell (本机部分)从动态类型中获取字体大小,但是iOS应用程序中的WebView (react原生webview: 7.5.1)组件不会从动态类型中提取字体大小。

这是一个已知的问题/事情在“反应-本机-webview”,或者其他人请指点我在正确的方向(可能用一个例子),以增加这个可访问性的功能到iOS应用程序?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-11-30 02:52:17

这似乎目前(11月22日)不支持的反应-本机-webview。

反应-本机-信息有一个名为getFontScale()的函数,您可以将其用于设置基本rem值,然后将其插入到webview中。

代码语言:javascript
复制
  async function getInjectedJs() {
    const fontScale = await getGetFontScale();

   return `
     const html  = document.getElementByTagName('html');
     html.style.fontSize = {your_base_font_size} * ${fontScale}
   `
  }

  ...


  <WebView injectJavascriptAfterLoad={getInjectedJs()) ...

上面的话不太管用,但你明白了。

很想听听你是否找到了另一种方式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71745135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档