Как отказаться от UITextView с кнопкой Готово

Мне было интересно, знает ли кто-нибудь из вас, как получить доступ к кнопке "Готово", которая появляется над клавиатурой при редактировании.

Я видел это раньше, над клавиатурой есть прозрачная черная область, а справа - синяя кнопка "Готово".

Я мог бы сделать это вручную с помощью своих собственных анимаций и кнопок над клавиатурой в моем приложении, чтобы отложить UITextView, но я бы предпочел использовать элементы графического интерфейса Apple, известные людям.

Так есть ли у кого-нибудь информация о том, откуда взялась эта кнопка "Готово"?

1 ответ

Решение

Вы на самом деле не "получаете доступ" к этой кнопке, но через протокол UITextViewDelegate вы, по сути, можете:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html

Реализовать

- (void)textViewDidEndEditing:(UITextView *)textView

рутину, и назначьте UIViewController, содержащий textview, делегату textview.

Внутри этой рутины вы можете делать то, что хотите! Вам нужно будет позвонить

resignFirstResponder

метод.

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/UIResponder/resignFirstResponder

Вам нужно будет реализовать стиль клавиатуры, который реализует эту синюю кнопку "Готово".

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html#//apple_ref/occ/intf/UITextInputTraits

ЗАКЛЮЧИТЕЛЬНЫЙ ОТВЕТ

- (void)textViewDidEndEditing:(UITextView *)textView{
    [textView resignFirstResponder];
}
Другие вопросы по тегам