当前位置: 首页 > 知识库问答 >
问题:

React原生iOS文本有时不换行

麻宾白
2023-03-14

我正在开发一个React原生应用程序,遇到了一些奇怪的问题,文本没有正确换行。此文本换行问题仅出现在某些模拟器上(iPhone 6 /7 /8 /X)。基本上,我的应用程序设计如下:

<ScrollView
        style={styles.container}
        contentContainerStyle={styles.content}
>
    <Text style={styles.Text} >
          Blah blah blah blah ... Long long long long text
    </Text>
    <Text style={styles.Text} >
          Blah blah blah blah ... Long long long long text
    </Text>
    <Text style={styles.Text} >
          Blah blah blah blah ... Long long long long text
    </Text>
    {/* A bunch more Text components styled similarly as above */}
</ScrollView>

我的风格定义如下:

const styles = StyleSheet.create({
            container: {
                backgroundColor: '#F4F4F4',
            },
            content: {
                paddingRight: 5
            },
            text: {
                marginVertical: 8,
                paddingRight: 10,
                marginLeft: 16,
                fontSize: 18,
                lineHeight: 42,
            }
    }

通常,文本在文本组件的末尾正确换行。但是,有时末尾文本会从屏幕一侧拖尾:

当我切换到横向模式时,我通常可以看到被切掉的文本,但我很困惑为什么会发生这种情况。我已经尝试了很多可能的修复方法,使用flexflexGrowflexShrink、marginRight,为文本组件和/或contentContainerStyle设置宽度,但似乎没有任何效果。

我还参考了以下所有可能的修复线索:

似乎没有一个修复方法有效。在这一点上,我甚至不知道还可以尝试什么/如何跟踪可能的错误来源。任何指针都将不胜感激!

[2]:https://github.com/facebook/react-native/issues/17960[3]:https://github.com/facebook/react-native/issues/15114[4]:https://github.com/facebook/react-native/issues/7687[5]:https://github.com/facebook/react-native/issues/1438[6]:反应本机文本离开我的屏幕,拒绝换行。怎么办?

共有1个答案

南门宇
2023-03-14

根据您的需要,您可以使用:< br> - numberOfLines:在计算完文本布局(包括换行)后用省略号截断文本,以使总行数不超过该数字。< br> - adjustsFontSizeToFit:显示所有文本,可能需要换行。如果使用numberOfLines -字体应该自动缩小,以适应给定的样式约束。< br >您可以在此阅读更多内容

例:

 类似资料:
  • 每次我重新打开项目和模拟器时,我都必须在命令提示符中运行和吗? 谢谢。

  • 我将把我的第一个React Native应用程序部署到iOS应用程序商店。我有一个问题,但当谈到布局。我正在使用flexbox系统,目前正在为iPhone6设计。我已经完成了所有的模型和草图,并且拥有了我想要的所有外观。 然而,每当我试图在iPhone 4中运行该应用程序时,我都会遇到一个问题。我为iPhone 6实现的设计不符合iPhone 4拥有的约束。 我可以尝试为iPhone4重新设计东西

  • 我克隆了存储库:https://github.com/facebook/react-native,并尝试在Android仿真器上运行UIExplorer示例。 我在Android模拟器上收到了这个错误消息:

  • 遇到这个问题的人都无法解决配置':react-native-fast-image:classpath'的所有工件,并且找不到com.android.tools.build:gradle:3.6.3?我试着打开项目结构,看到gradle插件工具是3.6.3,而gradle版本是5.4.6,但我不知道现在发生了什么 build.gradle文件:

  • 我试图运行命令,但它抛出了一个错误。我在遵循文档我遵循了每一步,但它不起作用,我认为这不是选择路径,而是它设置如文档所示。谁能告诉我出什么事了吗?

  • 我已经完成了所有的设置为Android和iOS反应原生从下面的链接在我的mac mashine。 项目已成功创建。但当我试图在终端中使用以下命令运行Android项目时: 我得到了下面的错误 > 问题:配置项目“:app”时出现问题。 SDK目录“/usr/local/opt/android SDK”不存在。 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debu