gpt4 book ai didi

iphone - 当 UITextField 位于 UIScrollView 内时,使用点击手势关闭键盘时出现问题。

转载 作者:行者123 更新时间:2023-11-29 03:35:05 26 4
gpt4 key购买 nike

我设计了一个具有以下层次结构的应用程序:

UIViewController
UIView
UIScrollView
UITextField

在 ViewDidLoad 上我做了:

...
tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
tapGesture.cancelsTouchesInView = NO;
[self.scrollView addGestureRecognizer:tapGesture];
...

在 hideKeyboard 上我做了:

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

乍一看,它工作正常,但不幸的是有一个问题。当应用程序运行时,我们可以单击UITextField,键盘将按预期显示。如果我们单击 UITextField 外部,则会调用方法 hideKeyboard 并按预期关闭键盘,但如果您尝试再次单击 UITextField,则键盘不会再次显示。

我做错了什么?有人知道吗?

最佳答案

每次需要用户反馈时,这是一个非常普遍的问题。如果 Apple 在即将发布的框架版本中包含此类日常功能,将会非常有帮助。

关于如何在编辑期间将 UITextField 和 UITextView 移出键盘的方式,有一百零一个提议的解决方案——通常,它归结为观察

  1. UIKeyboardWillShowNotification 和 UIKeyboardWillHideNotification,或者
  2. 实现 UITextFieldDelegate 委托(delegate)方法,并调整父 View 的框架,或
  3. 使用 UITableView 的 scrollToRowAtIndexPath:atScrollPosition:animated:

但我发现所有建议的解决方案都倾向于 DIY,并且必须为需要它的每个 View Controller 实现。

Michael Tyson 提供的解决方案...将文本字段移出键盘的嵌入式通用解决方案您可以在 GitHub project page. 上获取源文件,其中包括一个示例项目。

关于iphone - 当 UITextField 位于 UIScrollView 内时,使用点击手势关闭键盘时出现问题。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19281036/

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