0

最終的に、UITextView の最後の文字の位置を知りたいです。以下を使用して y 位置を見つけることができました。

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

ただし、x 位置を取得するには、テキストビューの最後の行からテキストを取得する必要があります。size.height が変更されるまで textView.text から一度に文字を削除してその効果を達成しようとしましたが、改行を考慮すると、必ずしも必要なものと同じであるとは限りません。

何か提案はありますか?私はこれを理解するために丸一日を費やしてきました...

4

2 に答える 2

2

caretRectForPosition を使用してテキストビュー内のカーソルのピクセル位置を取得することで解決策を見つけたと思います。

// move cursor to the end of the text
textView.selectedRange = NSMakeRange([textView.text length], 0);
CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.start].origin;
于 2012-06-28T09:45:14.150 に答える
0

このようにuitextviewまたはuitextfieldのテキストサイズを評価できます

    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);

于 2012-06-25T11:53:03.130 に答える