uitextviewが最初のレスポンダになったときの処理方法。私はテキストビューでテキストを持っており、ビューがアクティブになったときにテキストをクリアしたいと思っています。どうやってやるの?ちょうどそのメソッド内でYESと切片を返すUITextViewが最初のレスポンダになったときを知る方法
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
:事前
uitextviewが最初のレスポンダになったときの処理方法。私はテキストビューでテキストを持っており、ビューがアクティブになったときにテキストをクリアしたいと思っています。どうやってやるの?ちょうどそのメソッド内でYESと切片を返すUITextViewが最初のレスポンダになったときを知る方法
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
:事前
のおかげでは、あなたは間違いのUITextViewDelegate
方法を使用することができます。またUITextFieldDelegate
としてUITextFields
のためにそれを行うことができます役立ちます
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
希望を。
前の答えがUITextBoxのための偉大な仕事をしていますが、NSResponderから派生したカスタムクラスを持っていると知っておく必要がある場合、それは最初の応答者になった場合:上記のように
-(BOOL) becomeFirstResponder
{
// Your stuff here
return YES;
}
、あなたはbecomeFirstResponderを上書きすることができますが、ことに注意してくださいスーパークラス実装を呼び出す必要があります。そうしないと、テキストフィールド上でキーボードをポップするようなことは機能しません。すなわち、
override func becomeFirstResponder() -> Bool {
if super.becomeFirstResponder() {
// set up the control state
return true
}
return false
}
textViewShouldBeginEditing
実際にはテキストビューが最初のレスポンダになる前にトリガされます。
textViewDidBeginEditing
は、テキストビューが最初の応答者になるとトリガーし、アクティブなテキストビューが何であるかを知る必要があるコードを実行するのに最適な場所になります。
アクティブなフィールドが本当に心配されていない場合、フィールドがタップされた後でテキストを消去したいだけなら、どちらの機能も使用できます。
EDIT:テキストフィールドでも同じ方法が使用できます。
これは受け入れられる回答である必要があります。 –
非常に同意します。 –