gpt4 book ai didi

objective-c - 无法使 UITextField 上的“完成”按钮正常工作

转载 作者:行者123 更新时间:2023-12-02 04:56:27 25 4
gpt4 key购买 nike

我似乎无法通过键盘上的“完成”按钮关闭键盘?有人知道如何让它发挥作用吗?

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

[textField resignFirstResponder];
return YES;
}

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

最佳答案

您的代码,特别是在 -textFieldShouldReturn 中退出文本字段的第一响应者很好。

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

我最近的一个项目的一个片段,我在两个字段中使用了 Next 返回键和 Done 返回键,从第一个切换到第二个,然后关闭第二个(它有一个 Done 返回键):

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];

if(textField == self.nameTextField)
[self.descriptionTextField becomeFirstResponder];

return YES;
}

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

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

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

关于objective-c - 无法使 UITextField 上的“完成”按钮正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17913552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com