Как отклонить клавиатуру для 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()
        }
    }
Другие вопросы по тегам