Как обращаться, когда uitextview стал первым ответчиком. У меня есть текст в текстовом виде, и я хочу, когда просмотр стал активным, чтобы очистить текст. Как я могу это сделать? Спасибо заранее
Как узнать, когда UITextView стал первым респондентом
Ответ 1
Вы можете определенно использовать метод UITextViewDelegate
для:
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
Просто верните YES и перехватите внутри этого метода. Вы также можете сделать это для UITextFields
с помощью UITextFieldDelegate
и:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
Надеюсь, что это поможет.
Ответ 2
Предыдущие ответы отлично подходят для UITextBox, но если у вас есть пользовательский класс, полученный из NSResponder, и вам нужно знать, когда он станет первым ответчиком:
-(BOOL) becomeFirstResponder
{
// Your stuff here
return YES;
}
Ответ 3
Как и выше, вы можете переопределить startFirstResponder, но обратите внимание, что вы должны вызывать реализацию суперкласса. Если вы этого не сделаете, такие вещи, как появление клавиатуры в текстовом поле, не будут работать. то есть.
override func becomeFirstResponder() -> Bool {
if super.becomeFirstResponder() {
// set up the control state
return true
}
return false
}
Ответ 4
textViewShouldBeginEditing
фактически запускается до того, как текстовое представление станет первым ответчиком.
textViewDidBeginEditing
будет срабатывать, когда текстовое представление станет первым ответчиком и будет лучшим местом для выполнения кода, который должен знать, что такое активное текстовое представление.
Если вы действительно не беспокоитесь о том, какое поле активно и просто хотите очистить текст после того, как поле будет задействовано, вы можете использовать любую функцию.
EDIT: те же методы доступны для текстовых полей.