gpt4 book ai didi

iOS iPad 应用程序不隐藏键盘

转载 作者:行者123 更新时间:2023-11-28 22:53:42 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个 View ,它是一个包含大量输入的表单。当 UITextField 调用 textFieldDidBeginEditing 时,它会检查标签并根据输入的含义调出 UIPopoverController 或键盘。

如果键盘启动,我需要它在用户按下弹出弹出窗口的文本字段时消失。但是我不能让它消失,我已经尝试了各种方法来摆脱键盘,但它只是留在那里。我试过:

  • textFieldDidEndEditing 中调用 resignFirstResponder
  • textFieldDidEndEditing中调用[self.view endEditing:YES]
  • textFieldDidBeginEditing 中调用 resignFirstResponder AND [self.view endEditing:YES] 检查前一个标签等于键盘输入文本字段.

任何想法都会很棒。

如果有人想查看确切的行为,我已将其删除并放入示例项目中。 http://dl.dropbox.com/u/61692457/KB_Test.zip

最佳答案

在 .h 文件中声明一个全局 UITextField

UITextField *txtfld;

将您的方法 textFieldDidBeginEditing 替换为 textFieldShouldBeginEditing,然后编写此代码

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

if (textField.tag == 1 || textField.tag==3)
{

if(numPickerPopover == nil)
{

numPicker = [[[NumPicker alloc] initWithStyle:UITableViewStylePlain] autorelease];

numPicker.delegate = self;

numPickerPopover = [[UIPopoverController alloc] initWithContentViewController:numPicker];
[numPickerPopover setPopoverContentSize:CGSizeMake(60.0, 260.0f)];
}

[numPickerPopover presentPopoverFromRect:textField.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

[txtfld resignFirstResponder];
return NO;
}


if (textField.tag == 2)

{

txtfld = textField;

return YES;
}

return YES;

}

关于iOS iPad 应用程序不隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11255392/

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