Objective c UITextField上的“无法完成”按钮无法工作

Objective c UITextField上的“无法完成”按钮无法工作,objective-c,uitextfield,Objective C,Uitextfield,我似乎无法通过键盘上的“完成”按钮关闭键盘?有人知道怎么做吗 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } - (BOOL)textViewShouldEndEditing:(UITextView *)textView{ [textView resignFirstResponder]; return

我似乎无法通过键盘上的“完成”按钮关闭键盘?有人知道怎么做吗

- (BOOL)textFieldShouldReturn:(UITextField *)textField {

    [textField resignFirstResponder];
    return YES;
}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView{
    [textView resignFirstResponder];
    return YES;
}

您的代码,特别是辞职
-textFieldShouldReturn
中textfield的第一响应者是可以的

我认为您可能没有正确连接,可能忘记设置
UITextField
的委托

我最近的一个项目中的一个片段,其中我对两个字段使用了Next返回键和Done返回键,从第一个字段切换到第二个字段,并取消了第二个字段(具有Done返回键):

关于
UITextView
(您的问题在标题中特别提到了
UITextField
,但您的代码同时包含了textfield和textview),您需要以不同的方式辞去第一响应者的职务

由于文本视图用于较长的文本输入,包括多行,您还可以使用回车键进行换行,因此您必须检测用户何时更改文本。 如果他们试图输入换行符,则在该点手动退出。 示例如下:

- (BOOL)textView:(UITextView *)textView 
        shouldChangeTextInRange:(NSRange)range 
        replacementText:(NSString *)text
{
    if([text isEqualToString:@"\n"])
         [textView resignFirstResponder];
    return YES;
}

您是否已确保正确设置了
UITextField
的委托?似乎您将文本字段与文本视图混淆了?在任何情况下,都要确保学员的设置正确。更多细节请参见我的答案。
- (BOOL)textView:(UITextView *)textView 
        shouldChangeTextInRange:(NSRange)range 
        replacementText:(NSString *)text
{
    if([text isEqualToString:@"\n"])
         [textView resignFirstResponder];
    return YES;
}