1. 程式人生 > >iOS中textView和textField鍵盤的return鍵點選事件

iOS中textView和textField鍵盤的return鍵點選事件

UITextField

UITextField的delegate中有方法textFieldShouldReturn 可以響應鍵盤的return 事件

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [self.view endEditing:YES];
    return YES;
}

返回值YES或NO似乎並沒有太大的影響

UITextView

textView不像textField有專屬的代理方法可以使用, 所以需要另闢思路. 在UITextViewDelegate 中有方法shouldChangeTextInRange

可以來完成這一功能, 該方法實時監聽輸入的值, 如果輸入的是return 那麼就可以了.

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if ([text isEqualToString:@"\n"]) {
        [self.view endEditing:YES];
        return NO;//這裡返回NO,就代表return鍵值失效,即頁面上按下return,不會出現換行,如果為yes,則輸入頁面會換行
} return YES; }