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;
}