2012-06-25 5 views
0

궁극적으로 UITextView에서 마지막 문자의 위치를 ​​알고 싶습니다. 전 사용하여 y 위치를 알 수 있었다 다음UITextView에서 특정 줄의 텍스트 가져 오기

CGSize 크기 = textView.text sizeWithFont : textView.font constrainedToSize : CGSizeMake (textView.frame.size.width-16, 10000) lineBreakMode : UILineBreakModeClip];

그러나 x 위치를 얻으려면 텍스트보기의 마지막 줄에서 텍스트를 가져와야합니다. 그 효과를 얻기 위해 size.height가 변경 될 때까지 textView.text에서 문자를 한 번에 제거하려고 시도했지만 linebreak가 고려 될 때 항상 원하는 것과 같지는 않습니다.

누구에게나 제안이 있으십니까? 내가

답변

0

 
    UIFont * myFont = [UIFont fontWithName:@"Gill Sans" size:19]; 
    CGSize textSize = [@"your text" sizeWithFont: myFont constrainedToSize:CGSizeMake(textFiled.frame.size.width, textFiled.frame.size.height) lineBreakMode:UILineBreakModeWordWrap]; 
    NSlog(@"this is your text size W=%f H=%f",textSize.width, textSize.height); 

+0

나는 그랬지만, 그 자체만으로는 위에서 설명한대로 결과를 얻지 못했습니다. –

2

같은 uitextview 또는의 UITextField의 텍스트 크기를 평가할 수 있습니다 ...이 일을 알아 내려고 하루 종일 지출 봤는데 난에 caretRectForPosition를 사용하여 해결책을 찾은 것 같아요 텍스트 뷰에서 커서의 픽셀 위치를 가져옵니다.

// move cursor to the end of the text 
textView.selectedRange = NSMakeRange([textView.text length], 0); 
CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.start].origin; 
관련 문제