UITextView判断光标在第几行,进来都有分
如题,进来都有分
[最优解释]
额,这是ios5的方法,不能用于ios4, 看来你需要综合一下
[其他解释]
使用 uitextview 的selectedRange属性可以得到光标的位置
[其他解释]
重载UITextView吧!
[其他解释]
好凄凉,没人,帮楼主顶一下
[其他解释]
似乎不大好办,只能知道位置,怎么对应到行数,似乎得根据每行的字符数计算?
[其他解释]
先支持,题目在哪里呀?
[其他解释]
http://blog.csdn.net/liyanbo1984/article/details/5807095
没测试,仅供参考
[其他解释]
这个。。。。没用过,不知道。
[其他解释]
这个还真没做过...友情帮顶...
[其他解释]
看看这个行不行:
UITextRange *startTextRange = [textview characterRangeAtPoint:CGPointZero];
CGRect caretRect = [textview caretRectForPosition:startTextRange.end];
CGFloat topMargin = CGRectGetMinY(caretRect);
CGFloat lineHeight = CGRectGetHeight(caretRect);
caretRect = [textview caretRectForPosition:textview.selectedTextRange.end];
CGFloat caretTop = CGRectGetMinY(caretRect);
NSInteger lineIndex = (caretTop - topMargin) / lineHeight;
[其他解释]
使用 uitextview 的selectedRange属性可以得到光标的位置
[其他解释]
- (int)getCursorPointY:(UITextView *)curtextView
{
CGPoint cursorPoint;
int Len = curtextView.selectedRange.location;
NSString *stringToCursor = [curtextView.text substringToIndex:Len];
NSArray *partStrArr = [stringToCursor componentsSeparatedByString:@"\n"];
int row = [partStrArr count];
CGSize fontsize = [@"我" sizeWithFont:[curtextView font]];
for (NSString *partStr in partStrArr)
{
CGSize partStrSize = [partStr sizeWithFont:[curtextView font] constrainedToSize:curtextView.contentSize lineBreakMode:UILineBreakModeCharacterWrap];
NSLog(@"partStrSize.width = %f,partStrSize.height = %f",partStrSize.width,partStrSize.height);
int rowG = partStrSize.height/fontsize.height;
if (rowG >1) {
rowG -=1;
row += rowG;
}
}
cursorPoint.y = (row -1)*fontsize.height;
return (int)(cursorPoint.y);
}