我有一个子类UITableViewCell,它包含一个UITextView。我将NSParagraphStyle作为属性添加到子类NSTextStorage中的字符串中。在下面的代码中,我增加了UITextView中每一行之间的空间。
swift
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 11
myCustomTextStorage.appendAttributedString(NSAttributedString(string: someText, attributes: [NSParagraphStyleAttributeName: paragraphStyle]))光标的高度会拉长到下一行的高度,如下所示。这只发生在最后一行之前的行上。

我看过几篇关于这个问题的帖子,包括this post;然而,似乎没有任何一个建议的解决方案适合我。
我已经阅读了TextKit文档,但没有找到解决这个问题的任何解决方案。
有降低光标高度的方法吗?
发布于 2015-11-04 13:56:15
这和设计的一样,在Mac上也是一样的。它的目的是向用户提供他们在哪一条线上的视觉反馈,以及这条线的高度。在改变之前,你应该好好想一想,因为你不喜欢它的样子。
也就是说,上面链接的SO post中的方法是调整光标的一般方法(尽管调整后的rect的原点可能也需要调整)。那它对你不管用呢?从那里开始会更好。
发布于 2016-01-14 10:46:03
在这个线程上给出了一个与这个问题相关的答案。只是贴在这里供将来参考。iOS - UITextView lineSpacing make cursor height not same
“您可以通过子类UITextView更改光标高度,然后重写caretRectForPosition:position函数。例如:
https://stackoverflow.com/questions/29710177
复制相似问题