TextView里限制输入字数的方法
2015-12-08 11:43
465 查看
一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断:
[c-sharp] view
plaincopy
//键入Done时,插入换行符,然后执行addBookmark
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
//判断加上输入的字符,是否超过界限
NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
if (str.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex:BOOKMARK_WORD_LIMIT];
return NO;
}
return YES;
}
但在使用中发现该方法在有联想输入的时候,根本无法对联想输入的词进行判断,然后尝试使用textViewDidChange:,验证可行:
[cpp] view
plaincopy
/*由于联想输入的时候,函数textView:shouldChangeTextInRange:replacementText:无法判断字数,
因此使用textViewDidChange对TextView里面的字数进行判断
*/
- (void)textViewDidChange:(UITextView *)textView
{
//该判断用于联想输入
if (textView.text.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex:BOOKMARK_WORD_LIMIT];
}
}
[c-sharp] view
plaincopy
//键入Done时,插入换行符,然后执行addBookmark
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
//判断加上输入的字符,是否超过界限
NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
if (str.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex:BOOKMARK_WORD_LIMIT];
return NO;
}
return YES;
}
但在使用中发现该方法在有联想输入的时候,根本无法对联想输入的词进行判断,然后尝试使用textViewDidChange:,验证可行:
[cpp] view
plaincopy
/*由于联想输入的时候,函数textView:shouldChangeTextInRange:replacementText:无法判断字数,
因此使用textViewDidChange对TextView里面的字数进行判断
*/
- (void)textViewDidChange:(UITextView *)textView
{
//该判断用于联想输入
if (textView.text.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex:BOOKMARK_WORD_LIMIT];
}
}
相关文章推荐
- 彩票生成器--36选7 无重复(案例)
- 数组去重
- Android 更新UI的两种方法——handler和runOnUiThread()
- javascript 导出div为图片PNG,div转svg,svg转canvas
- 最详细的Log4j使用教程
- 【转】KMP算法
- nodejs+express使用html和jade
- cocos2dx - 环境配置,项目创建
- iOS视频流开发(2)—视频播放
- 树状数组
- C#与PHP接口交互,通过Post方式
- MySQL中的datetime与timestamp比较
- 有感
- Linux多线程消费者和生产者模型实例(互斥锁和条件变量使用)
- 黑马程序员——Java重点基础之多线程(一)
- 面向对象---代码练习(以车为案例)
- JVM Learning : About Java
- online_judge_1030
- iOS视频流开发(1)—视频基本概念
- iOS 归档和解档demo