如何使“ ReadMoreTextView”库中的“ attributedReadMoreText”无法选择-迅速

时间:2018-08-16 07:34:31

标签: swift uitableview uitextview iosdeployment

我是一个新的iOS程序。现在,我正在创建一个示例应用程序,该应用程序使用ReadMoreTextView库显示文本。我的内容可能包含很多行,但是通过使用此库,我可以maximumNumberOfLines来显示应该显示多少行内容。我在cell的{​​{1}}中实现了这些内容,但我遇到的问题是,当我使用UITableView时,内容结尾将显示label.attributedReadMoreText = NSAttributedString(string: "..."),当我单击它时,整个内容将被显示,因此,我的问题是:如何不让用户单击该...,因为我希望用户单击...,然后我将显示另一个视图并在那里显示整个内容?

我如何实现这样的目标?预先感谢。

这就是我设置cell

的方式
UITextView

1 个答案:

答案 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()*/
}

尝试并分享您的结果。

希望有帮助!