TextView 的 layout里面包含各种获取字符位置、行数、列数等的方法
layoutgetLineForOffset 获取该字符所在行数
layoutgetLineBounds 获取该行的外包矩形(Rect) 这样 这个字符的顶部Y坐标就是rect的top 底部Y坐标就是rect的bottom
layoutgetPrimaryHorizontal 获取该字符左边的X左边
layoutgetSecondaryHorizontal 获取该字符字符的右边X坐标
其中自定义属性
一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断:
[c-sharp] view plaincopy
//键入Done时,插入换行符,然后执行addBookmark
- (BOOL)textView:(UITextView )textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString )text
{
//判断加上输入的字符,是否超过界限
NSString str = [NSString stringWithFormat:@"%@%@", textViewtext, text];
if (strlength > BOOKMARK_WORD_LIMIT)
{
textViewtext = [textViewtext substringToIndex:BOOKMARK_WORD_LIMIT];
return NO;
}
return YES;
}
但在使用中发现该方法在有联想输入的时候,根本无法对联想输入的词进行判断,然后尝试使用textViewDidChange:,验证可行:
[cpp] view plaincopy
/由于联想输入的时候,函数textView:shouldChangeTextInRange:replacementText:无法判断字数,
因此使用textViewDidChange对TextView里面的字数进行判断
/
- (void)textViewDidChange:(UITextView )textView
{
//该判断用于联想输入
if (textViewtextlength > BOOKMARK_WORD_LIMIT)
{
textViewtext = [textViewtext substringToIndex:BOOKMARK_WORD_LIMIT];
}
以上就是关于Android带下划线的TextView全部的内容,包括:Android带下划线的TextView、android中textview如何限制字数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)