2

テキストフィールドで選択したテキストを見つけて削除しようとしていますが、毎回SIGABRTします。selectedTextRange を取得しようとすると、NSInvalidArgumentException が発生し続けます。実際にテストしたところ、選択したテキストに関係するすべての機能がアプリを壊しているようです。

[mTextField selectedTextRange];

そのコード行自体でさえ、何らかの理由で認識されないセレクターです。ガベージデータなどを使用していないことを再確認しました。最初にテキストを取得してから、選択したテキストを取得すると壊れます。

4

3 に答える 3

3

selectedTextRangeiOS5+でのみ使用できます。

于 2012-03-09T13:36:46.263 に答える
1

質問にnstextfieldのタグを付けたので、 (iOS)NSTextFieldではなく(Mac OS X)を使用していると思います。UITextField問題は、メッセージNSTextFieldをサポートしていないことです。selectedTextRangeUITextFieldサポートします。)から選択した範囲を取得する方法がわかりませんNSTextField

を使用するように切り替えるNSTextViewと、メッセージを送信できselectedRangesます。

于 2011-11-03T23:09:58.303 に答える
1

UITextFieldを使用してそれを達成できるとは真剣に考えていません。

ただし、UITextViewDelegate を実装することで、ある程度のことができると思います。このメソッドで selectedRange プロパティを使用できます。

- (void)textViewDidChangeSelection:(UITextView *)textView

ところで、あなたの質問はこの質問と関係があるかもしれません:

UITextField で特定のテキスト ブロックを選択できますか?

それをチェックしてください..

于 2011-11-04T03:00:15.197 に答える