2011-12-05 6 views
0

私のUITextViewの最初の数文字をユーザーが選択できないようにしたい。私はそれをサブクラス化し、-setSelectedRange:-setSelectedTextRange:のようなメソッドに気付いた。両方とも異なる時に呼び出されますが、必要なのは後者のようです。UITextViewのコントロールの選択

-setSelectedTextRange:メソッドはUITextRangeオブジェクトをとり、UITextPositionプロパティは "start"となります。これは私の望むように思えますが、書き込むことはできません。このオブジェクトのクラスはありません。

私はこれをどのように行うことができますか? FWIW、私は自分のiPhoneアプリの「チェックイン」ビューでFacebookが持っているものを再現しようとしています。

ありがとうございます!特に、

- (BOOL)becomeFirstResponder 
{ 
    if ([super becomeFirstResponder]) { 
     // Select text in field.   
     [self setSelectedTextRange:[self textRangeFromPosition:[self positionFromPosition:self.beginningOfDocument offset:1] toPosition:self.endOfDocument]]; 
     return YES; 
    } 
    return NO; 
} 

答えて

1

は私がFacebookアプリチェックインビューの機能を持つ個人的に慣れていないんだけど、あなたはあなたのサブクラスではこのような何かを必要とするようなあなたの記述に基づいて、それが聞こえます"offset:1"引数に注意してください。これを使用して、選択したテキスト範囲の開始を設定することができます。また、指定した新しいテキスト範囲がテキストフィールドにある文字数に対して有効であることを確認する必要があります。

関連する問題