Как отклонить клавиатуру для UITextView с клавишей возврата?
В библиотеке IB введение говорит нам, что при нажатии клавиши возврата клавиатура для UITextView
исчезнет. Но на самом деле ключ возврата может действовать только как \n.
Я могу добавить кнопку и использовать [txtView resignFirstResponder]
спрятать клавиатуру
Но есть ли способ добавить действие для клавиши возврата на клавиатуре, чтобы мне не нужно было добавлять UIButton
?
33 ответа
Функция для скрытия Queboard.
- (void)HideQueyboard
{
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField; // called from textfield (keyboard)
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text; // good tester function - thanks
Мой хак для этого:
1- создать кнопку, охватывающую весь вид; 2- отправьте его на задний план вашего представления, 3- измените его тип с "Round Rect" на "Custom" в Инспекторе атрибутов, 4- создайте действие 5- реализуйте метод действия:
- (IBAction)bgTouched:(id)sender
{
//to dismiss keyboard on bg btn pressed
[_userInput resignFirstResponder];
}
где _userInput - ваш выход TextField
Для Swift 3 этот код позволил мне нажать за пределами UITextView, чтобы закрыть клавиатуру.
@IBOutlet weak var comment: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
comment.delegate = self
let tapGestureRecogniser = UITapGestureRecognizer(target: self, action: #selector(tap))
view.addGestureRecognizer(tapGestureRecogniser)
}
func tap(sender: UITapGestureRecognizer) {
if comment.isFirstResponder {
comment.resignFirstResponder()
}
}