uitextview からテキストを取得する必要があります。必要なテキストは、テキストビューをスクロールした後の特定の領域にあり、uitextview のすべてのテキストではありません。いくつかの画像で必要なものを説明します。
まず、私はこのテキストビューを持っています
次に、この画像のようにテキストを取得したい:
しかし、私はそれを行う方法を知りません、誰かが私を助けることができますか? ありがとうございました
uitextview からテキストを取得する必要があります。必要なテキストは、テキストビューをスクロールした後の特定の領域にあり、uitextview のすべてのテキストではありません。いくつかの画像で必要なものを説明します。
まず、私はこのテキストビューを持っています
次に、この画像のようにテキストを取得したい:
しかし、私はそれを行う方法を知りません、誰かが私を助けることができますか? ありがとうございました
NSRange range = NSMakeRange(desired_position, 0);
[myTextview setSelectedRange:range];
興味深い、珍しい質問です。
[元は UITextField 用に書かれた、UITextView 用に書き直した]
UITextView は、基本的に UIScrollView にラップされたテキスト入力コントロールです (継承を使用)。UIScrollView は、フレームに対するビューの座標を使用してコンテンツを移動することで機能します。
UITextView の contentOffset を見て、発生した垂直スクロールの量を取得します (テキストが上にスクロールしたため、y の値は負になります)。
スクロール量が決まったら、UITextView のフォントを取得する必要があります。行の高さを取得するには、NSString sizeWithFont を使用します。y 座標を行の高さで割ると、スキップする改行の数がわかります。
表示されるテキストの末尾が少し異なります。コントローラーの構造によっては、UITextView のサイズが変更されている場合とされていない場合があります。たとえば、UITableViewController を使用している場合、通常は tableView のサイズが自動的に変更されます。UITextView のサイズを変更したと仮定します。この場合、最後の 'y' は開始の 'y' + textView.frame.size.height です。キーボードの上のスペースに合わせて UITextView のサイズを変更していない場合は、そのようにデザインを変更するか、スクリーン キーボードのサイズを引きます。
お役に立てれば