0

uitextview からテキストを取得する必要があります。必要なテキストは、テキストビューをスクロールした後の特定の領域にあり、uitextview のすべてのテキストではありません。いくつかの画像で必要なものを説明します。

まず、私はこのテキストビューを持っています ここに画像の説明を入力

次に、この画像のようにテキストを取得したい: ここに画像の説明を入力

しかし、私はそれを行う方法を知りません、誰かが私を助けることができますか? ありがとうございました

4

2 に答える 2

3
NSRange range = NSMakeRange(desired_position, 0);
[myTextview setSelectedRange:range];
于 2012-11-12T09:47:12.387 に答える
0

興味深い、珍しい質問です。

[元は UITextField 用に書かれた、UITextView 用に書き直した]

UITextView は、基本的に UIScrollView にラップされたテキスト入力コントロールです (継承を使用)。UIScrollView は、フレームに対するビューの座標を使用してコンテンツを移動することで機能します。

UITextView の contentOffset を見て、発生した垂直スクロールの量を取得します (テキストが上にスクロールしたため、y の値は負になります)。

スクロール量が決まったら、UITextView のフォントを取得する必要があります。行の高さを取得するには、NSString sizeWithFont を使用します。y 座標を行の高さで割ると、スキップする改行の数がわかります。

表示されるテキストの末尾が少し異なります。コントローラーの構造によっては、UITextView のサイズが変更されている場合とされていない場合があります。たとえば、UITableViewController を使用している場合、通常は tableView のサイズが自動的に変更されます。UITextView のサイズを変更したと仮定します。この場合、最後の 'y' は開始の 'y' + textView.frame.size.height です。キーボードの上のスペースに合わせて UITextView のサイズを変更していない場合は、そのようにデザインを変更するか、スクリーン キーボードのサイズを引きます。

お役に立てれば

于 2012-08-01T06:35:59.630 に答える