0

UITextView があり、特定の何かが入力されたときに、その上にポップアップ サブビューを挿入しようとしています。ほとんどのオートコンプリート (ネイティブの iOS オートコレクトに似ています。

デリゲート メソッドを使用して、カーソルが先頭から何文字オフセットされているかを調べることができます。ただし、文字/カーソルの正確な位置を見つけるにはどうすればよいですか? その特定の場所にポップアップ ビューを表示できるようにする必要があります。

各文字の幅を計算してみましたが、Retina ディスプレイと非 Retina ディスプレイでは一致しないと思います。

助言がありますか?

編集

オートコンプリートという単語を実装しようとしているわけではありません。複数のオプションを含むテーブルビューを表示するために、独自のポップアップ ビューを表示したいと考えています。

4

1 に答える 1

0
-(float)getWidthForString:(NSString*)str font:(UIFont*)font
 {
  CGSize boundingSize = CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX);
  CGSize requiredSize = [str sizeWithFont:font constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap];  
  return requiredSize.width;
 }
于 2012-07-30T12:42:32.143 に答える