0

UITextView 内のすべての文字の y 位置を取得しようとしている\nので、正確な行番号のために UITextView と一緒に行番号を揃えることができます。私がやりたいのは、出現するたびに Y 座標の配列を取得することです\n

現時点では、現在の単語の CGSize を取得できますが、特定の単語が出現するたびに Y 座標を取得するためにこれを調整する方法がよくわかりません。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSRange aRange = self.editorText.selectedRange;
if(range.location<self.editorText.text.length)
{
    NSString * firstHalfString = [self.editorText.text substringToIndex:range.location];

    NSString *temp = @"s";
    CGSize s1 = [temp sizeWithFont:[UIFont systemFontOfSize:15]
                 constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                     lineBreakMode:UILineBreakModeWordWrap]; // enter you textview font size

    CGSize s = [firstHalfString sizeWithFont:[UIFont systemFontOfSize:15]
                           constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                               lineBreakMode:UILineBreakModeWordWrap]; // enter you textview font size


    //Here is the frame of your word in text view.
    NSLog(@"xcoordinate=%f, ycoordinate =%f, width=%f,height=%f",s.width,s.height,s1.width,s1.height);

    CGRect rectforword = CGRectMake(s.width, s.height, s1.width, s1.height);
    // rectforword is rect of yourword


}
else
{
    // Do what ever you want to do

}

return YES;
}

私が確信していない主な部分は、その座標を取得できるような方法でキャラクターの各出現を取得することです。

これを行う方法はありますか?または、行番号付けを実装する簡単な方法はありますか?

4

1 に答える 1

1

NSString をカスタム解析し、各行の先頭に #) を追加するオプションはありますか?

文字列の解析と操作を行うのは簡単なことではありませんが、yCoordinates やその他の乱雑なレイアウト ベースのパラメーターをまったく気にする必要がないという追加の利点があります。

于 2013-10-27T03:53:21.203 に答える