gpt4 book ai didi

iPhone:UITextField 结束编辑事件不会隐藏键盘

转载 作者:行者123 更新时间:2023-12-03 19:26:37 25 4
gpt4 key购买 nike

我想在 UITextField 结束编辑事件上隐藏键盘,但不知何故我无法让以下代码工作!当我按“完成”按钮时,它会隐藏键盘,但当我不按“完成”按钮并移动到另一个 UITextField 时,我不需要键盘,但需要 UIPickerView 。基本上 UIPickerView 出现但在键盘后面。我将在结束编辑事件以及开始编辑所需文本字段时退出当前的 UITextField。如果我没有为之前的 UITextField 显示键盘,则开始编辑代码可以正常工作。有人可以告诉我我做错了什么吗?

以下序列有效:

  1. 选择普通的UITextField并插入文本,按完成按钮(这会隐藏键盘)
  2. 选择选择器UITextField(这将显示选择器 View )

..但以下内容不会:

  1. 选择普通UITextField并插入文本
  2. 选择选择器UITextField(选择器 View 位于键盘后面,因为我没有按之前的UITextField的完成按钮)。这里它调用结束编辑,但它不隐藏键盘!

    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    scrollView.contentSize = CGSizeMake(320, 750);
    [scrollView setFrame:CGRectMake(0, 0, 320, 480)];
    return YES;
    }

    -(void)textFieldDidEndEditing:(UITextField *)textField
    {
    [textField resignFirstResponder];
    }

    - (void)textFieldDidBeginEditing:(UITextField *)textField {
    DatePicker.hidden = YES;
    CountryPickerView.hidden = YES;

    switch (textField.tag) {
    case 3:
    [textField resignFirstResponder];
    DatePicker.hidden = NO;
    return;
    case 6:
    [textField resignFirstResponder];
    CountryPickerView.hidden = NO;
    return;
    default:
    break;
    }
    scrollView.contentSize = CGSizeMake(320, 650);
    [scrollView setFrame:CGRectMake(0, 0, 320, 260)];
    }

最佳答案

您不应依赖标签,而应依赖指向对象的指针,并从 textFieldDidEndEditing 中删除 [textField resignFirstResponder];

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{
if (textField == theTextFieldIDontWantKeyboardFor) {
[thepreviousTextField resignFirstResponder];
return NO;
}
return YES;
}

关于iPhone:UITextField 结束编辑事件不会隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486053/

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