私は今朝ずっとこれに対する解決策を探しましたが、うまくいくものをまだ見つけていません。
ユーザーが変更できないようにする既存の固定テキストを含むテキストビューがあります。この場合、各テキストビューは「1.」、「2。」などで始まります。入力したテキストには、後で行うことのために番号が付けられます。
ユーザーがこのテキストを削除できないようにします(基本的に「永続的」です)。また、このプレテキストの途中にテキストを追加し始めることを許可したくありません。
これを処理するために、私は次のことを行いました。
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (range.location < 3) return NO;
return YES;
}
これはうまく機能しますが、ユーザーがビューの「1.」、「2。」などの部分に触れると、そこにカーソルが設定され、範囲の場所が原因でユーザーがテキストを入力できなくなります。小切手。この場合に実行したいのは、カーソル(おそらくtextViewDidBeginEditing内)をビュー内のテキストの最後に設定することです。ただし、使用するselectedRangeの組み合わせに関係なく、ダーンカーソルを最後に移動させることはできません。どんな助けでも大歓迎です。