7

我有一个包含 UITextView 的子类 UITableViewCell。我已将 NSParagraphStyle 作为属性添加到子类 NSTextStorage 中的字符串中。在下面的代码中,我增加了 UITextView 中每一行之间的空间。

迅速

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 11
myCustomTextStorage.appendAttributedString(NSAttributedString(string: someText, attributes: [NSParagraphStyleAttributeName: paragraphStyle]))

光标高度拉长到下一行的高度,如下所示。这只发生在最后一行之前的行上。

在此处输入图像描述

关于这个问题,我查看了几篇关于 SO 的帖子,包括这篇文章;但是,建议的解决方案似乎都不适合我。

我已经阅读了 TextKit 文档,但没有找到任何解决此问题的方法。

有没有办法减少光标高度?

4

2 回答 2

0

在此线程上给出了与此问题相关的答案。只是粘贴在这里以供将来参考。 iOS - UITextView lineSpacing 使光标高度不同

“您可以通过继承 UITextView 来更改光标高度,然后覆盖 caretRectForPosition:position 函数。例如:

  • (CGRect)caretRectForPosition:(UITextPosition *)position { CGRect originalRect = [super caretRectForPosition:position]; originalRect.size.height = 18.0; 返回原始矩形;} "
于 2016-01-14T10:46:03.053 回答
0

这按设计工作,在 Mac 上也是如此。它旨在为用户提供他们所在的行以及该行的高度的视觉反馈。仅仅因为你不喜欢它的外观,你应该在改变它之前仔细考虑一下。

也就是说,您在上面链接的 SO 帖子中的方法是调整光标的一般方法(尽管调整后的矩形的原点也可能需要调整)。对你没用怎么办?最好从那里开始。

于 2015-11-04T13:56:15.990 回答