gpt4 book ai didi

iOS 表单键盘不消失

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:35 26 4
gpt4 key购买 nike

我知道我必须打电话

- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
//this dismiss keyboard on ios
- (BOOL) textViewShouldBeginEditing:(UITextView *)textView {
[self.comments resignFirstResponder];
return YES;
}

为了关闭表单上的键盘,我还知道我必须在导航 Controller 中调用 disablesAutomaticKeyboardDismissal(如果有的话)。

问题是:我以编程方式创建带有导航 Controller 的表单表:

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
SettingsViewController *settingsVC = [sb instantiateViewControllerWithIdentifier:@"settingsViewController"];
//add navigation controller
UINavigationController *modalViewNavController= [[UINavigationController alloc] initWithRootViewController:settingsVC];
modalViewNavController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
modalViewNavController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:modalViewNavController animated:YES];

所以我没有用于表单的导航 Controller 类,在这种情况下如何关闭键盘?

我必须创建一个导航 View Controller 吗?

更新:::::::::::::::::::::::::::::::::::::::::::::::::

最终在 Storyboard 中创建一个导航 Controller 并在导航 Controller 的 View Controller 中调用 disablesAutomaticKeyboardDismissal,这解决了问题,但我仍然想知道如何在不创建导航 Controller 类的情况下执行此操作。

欢迎任何输入......

最佳答案

你能不能试试下面的代码;

- (void)viewDidLoad {
[super viewDidLoad];

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
gestureRecognizer.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:gestureRecognizer];
}

- (void)hideKeyboard {
[self.view endEditing:YES];
}

关于iOS 表单键盘不消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815041/

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