减少 UITextView iOS 7 上的行距

Posted

技术标签:

【中文标题】减少 UITextView iOS 7 上的行距【英文标题】:Decreasing line spacing on UITextView iOS 7 【发布时间】:2013-09-27 11:11:43 【问题描述】:

我正在尝试创建一个具有动态可调整行距的 UITextView。对于 ios 6,我使用 styleString 来调整间距,但由于该解决方案不适用于 iOS 7,我设置 layoutManager 委托并使用

- (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect
    return textView.lineHeight;

这对于增加行间距非常有用,但不允许我将间距减小到低于默认间距,例如:

有没有办法使用 layoutManager 或任何其他解决方案来减少 iOS 7 的行距?

【问题讨论】:

您找到解决方案了吗? 我一直在寻找,但到目前为止一无所获。 【参考方案1】:

还有一个问题可以帮助您。请检查此link

你试过使用 AttributedString 吗?

【讨论】:

我确实尝试过 AttributedString。 NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle defaultParagraphStyle];段落样式.lineSpacing = textView.lineSpacing;将它添加到 AttributedString 中,并为其设置 textView 属性字符串,但它什么也没做 Efesus,上面的代码不起作用,因为“defaultParagraphStyle”返回 NSParagraphStyle,而不是可变版本。所以你需要做 [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy] 代替。然后你可以将 lineSpacing 属性设置为一个绝对值,或者你可以只做paragraphStyle.lineSpacing += 5 左右来增加5个点的默认间距。

以上是关于减少 UITextView iOS 7 上的行距的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 - UITextView 上的 linkTextAttributes 效果不佳

无法使用 UITextView 应用行距?

iOS 7 上的 UITextView contentOffset

有啥方法可以改变 UIStackView 中 UITextView 的行距/边距/填充?

如何减少这个 python 程序中的行距?

iOS 7 + Calabash:带有 NSLinkAttributeName 的 UITextView 和链接上的可访问性不起作用