ios - 如何在 20 个字符后切断 TextView ?

标签 ios swift uitextviewdelegate

我试图将 TextView 中的字符数限制为 20 个。20 个之后它应该改为“...”。该函数未触发,我正在正确设置委托(delegate)。

动物类

cell.pn.text = np[indexPath.row]
cell.pn.selectable = false
cell.pn.delegate = self

Animal类的扩展

extension Animal : UITextViewDelegate{
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
    return textView.text.characters.count + (text.characters.count - range.length) <= 20
    }
}

最佳答案

试试这个:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        let text = textField.text
        let newLength = text.characters.count + string.characters.count - range.length
        return newLength <= 20
    }

关于ios - 如何在 20 个字符后切断 TextView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37665215/

相关文章:

ios - 在代码中配置 NSAppTransportSecurity

swift - 带有可选参数的类 Init - 不可能?

ios - UIView 动画立即完成,不考虑持续时间或延迟

ios - 使用 AVFoundation 为多个图像仅播放一次相机声音或以编程方式简单地静音/抑制声音

objective-c - iOS中如何实现部分透视效果?

objective-c - 如何制作这些角标(Badge)?

ios - 在XCode 8中使用Swift 3,如何控制UITableView subview

ios - 从后台返回时未调用 UITextView 委托(delegate)方法 textViewDidChangeSelection

ios - UITextView - 使用在 UITableViewCell() 中选择的所有文本开始编辑

UITextView 属性文本和语法突出显示