我是一个新的iOS程序。现在,我正在创建一个示例应用程序,该应用程序使用ReadMoreTextView
库显示文本。我的内容可能包含很多行,但是通过使用此库,我可以maximumNumberOfLines
来显示应该显示多少行内容。我在cell
的{{1}}中实现了这些内容,但我遇到的问题是,当我使用UITableView
时,内容结尾将显示label.attributedReadMoreText = NSAttributedString(string: "...")
,当我单击它时,整个内容将被显示,因此,我的问题是:如何不让用户单击该...
,因为我希望用户单击...
,然后我将显示另一个视图并在那里显示整个内容?
我如何实现这样的目标?预先感谢。
这就是我设置cell
UITextView
答案 0 :(得分:1)
通过查看代码here,我发现 ReadMoreTextView 旨在为您提供 ReadMore 和 ReadLess strong>用于textView中的较大文本。
但是,您的要求是停止该功能。现在,如果您看一下code here,您会发现,函数 shoreMoreText 和它是 private函数,因此无法覆盖它。并且此功能正在扩展文本并将numberOfLines设置为零。因此,您可以做的是,注释其中的代码,然后从函数返回以停止执行操作。同样,由于ReadMoreTextView被许可为MIT(Read licence here),因此可以修改代码。
private func showMoreText() {
return
/*if let readLessText = readLessText, text.hasSuffix(readLessText) { return }
shouldTrim = false
textContainer.maximumNumberOfLines = 0
if let originalAttributedText = _originalAttributedText?.mutableCopy() as? NSMutableAttributedString {
attributedText = _originalAttributedText
let range = NSRange(location: 0, length: text.count)
if let attributedReadLessText = attributedReadLessText {
originalAttributedText.append(attributedReadLessText)
}
textStorage.replaceCharacters(in: range, with: originalAttributedText)
}
invalidateIntrinsicContentSize()
invokeOnSizeChangeIfNeeded()*/
}
尝试并分享您的结果。
希望有帮助!