【问题标题】:UITextView line break not working in iOS 7 - works fine in iOS 6UITextView 换行符在 iOS 7 中不起作用 - 在 iOS 6 中工作正常
【发布时间】:2014-04-03 15:42:08
【问题描述】:

我有一个案例,UITextView 中的文本在 iOS 7 中没有正确换行。它在 iOS 6 中运行良好。文本视图 self.textLabel(不是最好的变量名,但我坚持使用它) , 在 IB (w:120 h:42 & System Font 13) 中定义并填充到以下代码中:

- (id)initWithIcon:(UIImage*)icon labelText:(NSString*)labelText;
{
    self = [super initWithClass:[self class]];

    self.textLabel.text = [labelText uppercaseString];
    [self.button setImage:icon forState:UIControlStateNormal];

    return self;
}

以下说明性屏幕截图的链接。

以下文本可以正常工作(在 iOS 6 和 iOS 7 中):

“ACCESSOARER & KOSMETIKA”结果:第 1 行:“ACCESSOARER &”第 2 行:“KOSMETIKA”

"ELEKTRONIK & TELEFONI" 结果:第 1 行:"ELEKTRONIK &" 第 2 行:"TELEFONI"

但是这段文字:

RESOR & TRANSPORT 在 iOS 7 中导致“SOR & TRANSPO”。

在 iOS 6 中,它会导致第 1 行:“RESOR”和“第 2 行:”TRANSPORT“

iOS 6 screenshot

iOS 7 screen shot

【问题讨论】:

  • 最近有一个类似的问题,最后调整了一下标签的 NSLayoutConstraints。这有帮助吗?
  • @Nerkatel - 谢谢你的建议,但不,我不这么认为,因为这里没有自动布局。
  • 我在这里找到了@Emmanuel [link] stackoverflow.com/questions/22300297/… 的一段代码,这可以验证我的问题。除了“RESOR & TRANSPORT”之外,它会返回 2...

标签: ios uitextview line line-breaks


【解决方案1】:

你试过this的回答吗?您的 UITextView 中的文本边界似乎是错误的

【讨论】:

  • 我查看了它并尝试了一些,但没有看到任何变化,但还是谢谢你:)
【解决方案2】:

在我提交错误报告后,这个问题终于得到了解决。我在 UILabel 上定义了一个类别,我在其中覆盖 (CGSize)intrinsicContentSize。所以删除类别后问题就消失了。没有其他东西坏了 - 让我想知道为什么我把它放在那个类别:)

苹果回答:

发生这种情况是因为您在 UILabel 上有一个类别并且正在覆盖:

-(CGSize)intrinsicContentSize {
   CGSize s = [super intrinsicContentSize];
   s = CGSizeMake(s.width, s.height + 4);
   return s;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多