美文网首页
如何限制UITextView中的字符长度

如何限制UITextView中的字符长度

作者: 秦枫桀 | 来源:发表于2017-03-29 15:17 被阅读0次

当你百度出来一堆结果,100%的搜索结果都在告诉你,iOS实现这事儿不容易,可能遇到的问题如下:

  • 输入法联想词可能会超字符长度限制
  • 粘贴操作可能会超字符长度限制
  • 达到了限制的时候,无法再编辑

看他们又是监听通知又是判断输入法的,真的有必要么?错误的方法被人复制了一千一万遍,可还是有人在用!

正确姿势如下:

1)在你的ViewController这样添加UITextViewDelegate

@interface ViewController : UIViewController <UITextViewDelegate>

每次用户键入键盘上的字符,在显示字符之前,下面的方法会被调用。这是个好用的方法,以测试用户键入的字符,或者禁止特定的字符。

textView:shouldChangeCharactersInRange:replacementString

2)然后编写以下代码。可以替换成你想要限制的字数。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    return textView.text.length + (text.length - range.length) <= 140;
}

Swift:

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

来试试吧!中文输入法!粘贴!随便试!
帮到你了吗?喜欢的话就打赏一下吧!😏😏😏


相关文章

网友评论

      本文标题:如何限制UITextView中的字符长度

      本文链接:https://www.haomeiwen.com/subject/yboeottx.html