2010-04-16 5 views
2

UITextView에서 ypos를 찾거나 현재 마커가 활성화 된 행을 찾을 수 있습니까?UITextView 위치

감사합니다.

답변

2

당신은

sizeWithFont:constrainedToSize: 

하여 문자열의 폭을 계산하고 폭으로 나누면이 하위 문자열을 사용 커서 위치에서

NSRange cursorPosition = [tf selectedRange]; 

문자열에 의해 약간의 계산 찾을 수 커서 위치 할 필요가 귀하의 TextView 너비 중 .. 그것은 당신에게 커서가 줄을 줄 것입니다 ... 논리적으로 올바른 것 같습니다 ... 그것을 시도하지 않은 ... 그것이 작동하는지 아닌지 알려 주시기 바랍니다 ..

1

이와 비슷한 것 :

- (int) getCurrentLine: (UITextView *) textView{ 
    int pos = textView.selectedRange.location; 
    NSString *str =textView.text; 
    NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet]; 
    int num = pos; 
    for (; num< str.length; num++){ 
     unichar c = [str characterAtIndex:num]; 
     if ([charset characterIsMember:c]) break; 
    } 
    str = [str substringToIndex:num]; 

    CGSize tallerSize = CGSizeMake(textView.frame.size.width - 16, 999999); 
    CGSize lc1 = [@"Yyg" sizeWithFont: textView.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap]; 
    CGSize lc = [str sizeWithFont: textView.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap]; 
    lc.height = lc.height/lc1.height; 
    return lc.height; 
}