【问题标题】:Setting NSLineBreakByTruncatingHead has no effect设置 NSLineBreakByTruncatingHead 没有效果
【发布时间】:2014-08-06 23:15:47
【问题描述】:

我有以下几行代码:

textView.textContainer.maximumNumberOfLines = 10;
textView.textContainer.lineBreakMode = NSLineBreakByTruncatingHead;
[textView setText:@"1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11"];

无论我将 lineBreakMode 设置为什么,输出总是不包括 11,但包括 1。我需要截断字符串的开头,而不是结尾。关于为什么这不起作用的任何想法?

【问题讨论】:

    标签: ios objective-c uitextview line-breaks truncate


    【解决方案1】:

    这不是换行模式的作用。如果 individual 行的宽度超出了文本视图所能容纳的范围,该模式会导致它在头部被截断而不是换行,但它不会导致文本视图更改它显示的行。

    要获得您想要的效果,您必须自己修改字符串。如果它的格式设置为您的测试字符串的格式(带有明确的换行符),那相对容易——-rangeOfString:options:range: 将让您沿着字符串向后搜索,直到找到您想要保留的第 N 行的开头——但是如果您依赖自动换行,那么你必须使用-boundingRectWithSize:options:attributes: 并从头开始切字,直到它适合你需要的大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      • 2023-04-03
      • 2021-05-04
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多