【问题标题】:UITextView word wrap breaks in the middle of a wordUITextView 自动换行在单词中间中断
【发布时间】:2023-04-10 16:20:01
【问题描述】:

我使用UITextView 来呈现可能是一行或多行的定义。当它确实经过一条车道时,如果经常在一个单词中间换行。

这正常吗?可以做些什么来防止这种情况发生?

【问题讨论】:

  • 你能举个例子吗?源代码?我的第一个猜测是:(A)你的一些单词长度超过80个字符,所以 UITextView 只能将它们包装起来; (B) 你的行包含空格,但它们是 U+00A0 NON-BREAKING SPACEs 而不是 U+0020 SPACEs,所以它们不会有助于换行; (C) 你“提出[ing]定义”的方法是以某种方式抑制正确的换行。
  • 假设情况(A)有没有办法计算最小宽度来防止这种情况?

标签: ios objective-c uitextview


【解决方案1】:

自动换行是 IOS UITextView 的默认设置,也是 Quuxplusone 在他的评论中提到的失败的唯一原因。

任何一个

  • 一个词比textView的框架长(以像素为单位)
  • “空格”并不是真正的空格,而是牢不可破的空格

【讨论】:

    【解决方案2】:

    当排除路径太靠近 UITextView 的边缘时,似乎会发生这种情况。在 this example 伴随此 tutorial 您会注意到,如果您运行应用程序并选择“交互”选项卡,当椭圆居中放置时,单词会自然连字并中断,如果将其拖动到左边缘,则单词会强制中断并且是支离破碎的。但是,如果您将椭圆形的一半拖离屏幕,则可以进行环绕。

    因此,在使用椭圆时,您可以使用离开左边缘的技巧,而对于矩形,不要太靠近边缘。反对它很好。

    【讨论】:

      【解决方案3】:

      你可以这样做: UITextview 具有 启用滚动 的属性。所以文本字符限制并不重要。如果有更多文本,则 textview 使其可滚动。 要么 使 textview 高度动态化,获取字符串/文本高度并相应地设置 textview 的高度。

      【讨论】:

      • 这如何满足他的需要?
      • 对不起,如果我听起来很苛刻——我只是不明白 ^^
      • 4 年后,我仍然没有:D
      • @Daij-Djan 现在怎么样?
      • 呵呵——还是没有:D
      猜你喜欢
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多