gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:55:19 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,但您的代码同时包含文本字段和 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