#iphone #objective-c #cocoa-touch #uitextfield
#iPhone #objective-c #cocoa-touch #uitextfield
Вопрос:
У меня есть UITextView, и если пользователь коснется его, на клавиатуру будет добавлен дополнительный вид, чтобы пользователь мог снова скрыть клавиатуру.
Теперь я добавил UITextField и задавался вопросом, как добавить тот же вспомогательный вид на клавиатуру, как только он появится для UITextField. Существует ли эквивалент следующего кода для UITextField? textFieldShouldBeginEditing не существует…
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
if (aTextView.inputAccessoryView == nil) {
aTextView.inputAccessoryView = accessoryView;
self.accessoryView = nil; // After setting the accessory view for the text view, we no longer need a reference to the accessory view
}
return YES;
}
Ответ №1:
Существует протокол UITextFieldDelegate, в котором вы можете найти метод
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
Вы искали это?
Ответ №2:
Это действительно существует, за исключением того, что оно найдено в UITextFieldDelegate
протоколе.
Если ваш контроллер представления управляет как текстовым представлением, так и текстовым полем, пусть класс controller примет оба UITextViewDelegate
и UITextFieldDelegate
.
Ответ №3:
Для UITextField
ваш код должен быть таким, как показано ниже.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)aTextField {
if (aTextField .inputAccessoryView == nil) {
aTextField .inputAccessoryView = accessoryView;
aTextField.accessoryView = nil; // After setting the accessory view for the text view, we no longer need a reference to the accessory view
}
return YES;
}
Подтвердите с помощью UITextFieldDelegate
протокола для UITextField