gpt4 book ai didi

iOS - 如何关闭键盘?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:47:12 25 4
gpt4 key购买 nike

在我的应用程序中,我按下一个按钮,它会拉出一个模式演示表(适用于 iPad)。在此模态视图中,我的主视图中有一个 ScrollView , ScrollView 中有 1 个文本字段。

view controller
view
scrollview
text field

我没有尝试让键盘退出,我不知道为什么。唯一发生的事情是文本字段中闪烁的光标消失了。我的类(class)是 ScrollView 和文本字段的代表。这是我尝试过的:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
[self.titleTextField resignFirstResponder];
[self.titleTextField endEditing:YES];
[self.view endEditing:YES];
[self.view resignFirstResponder];
[self.scrollView endEditing:YES];
[self.scrollView resignFirstResponder];
}

该方法确实被调用,但键盘并没有消失。谁能帮助我或至少告诉我原因?

下面是我如何呈现这个模态呈现 View :

(它来自一个tableviewcontroller)

didSelectRowAtIndexPath

EditVideo *targetController = [self.storyboard instantiateViewControllerWithIdentifier:@"editVideo"];

targetController.delegate = self;

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:targetController];

navigationController.modalPresentationStyle = UIModalPresentationFormSheet;

[self presentViewController:navigationController animated:YES completion:nil];

[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

最佳答案

在 iPad 上,对于任何非全屏呈现的 ViewController,您必须实现 -(BOOL)disablesAutomaticKeyboardDismissal 以返回 NO 以关闭键盘。

- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}

一旦实现,您可以调用[self.view endEditing:YES];

编辑:此问题的另一个常见原因是从 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField 返回 NO。在 UITextFieldDelegate 中实现该方法并让它无条件返回 YES 以证明它不是一个因素。

关于iOS - 如何关闭键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307139/

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