【问题标题】:XCode, objective C - Keyboard WILL NOT SHOWXCode,目标 C - 键盘不会显示
【发布时间】:2021-07-22 09:20:07
【问题描述】:

我已经接手了一个 iOS 应用程序的工作,尽管我不是一个训练有素的 iOS 开发人员,但到目前为止我已经设法很好地使用它添加了新功能。但是,我遇到了一个补丁,当我点击 UITextfield 时,我根本无法让键盘显示在屏幕上,应用程序的某些区域可以正常工作,但我添加的任何新区域都无法正常工作。是否有一段标准代码可以控制在您点击文本字段时显示键盘?

需要帮助

【问题讨论】:

  • 键盘是自动的 - 不需要代码来“显示”它。插入符号 (|) 是否开始在文本字段中闪烁?如果没有,那么您的文本字段可能会被另一个视图覆盖。它可能在其父视图的范围之外...它可能被禁用...等等。如果它确实显示,那么你需要寻找明确防止键盘显示的代码。
  • 当我点击文本字段时,它甚至没有意识到我已经点击了它......
  • 好的,所以这不是“如何显示键盘”的问题......问题是某些东西阻止了与文本字段的交互。在我之前的评论中,我列出了三个最常见的原因——但没有额外的细节,我只能建议你查看这些方向来调试它。

标签: ios objective-c xcode


【解决方案1】:

除非您强制不打开,否则键盘会自动打开。

你可以检查以下,看截图。

  1. 启用已选中
  2. 已选中用户交互启用
  3. 如果您正在检查模拟器,请从键盘尝试“command + k”
  4. textFieldShouldBeginEditing 委托返回 TRUE
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return TRUE;
}

【讨论】:

  • 所以它现在只能在模拟器上工作,当我在设备上设置断点时,它会在我点击该字段时触发 textFieldShouldBeginEditing,但 textFieldDidBeginEditing 永远不会触发......在实际的 iphone 上它仍然像没有被窃听...
【解决方案2】:

你是在模拟器还是真机上运行?

【讨论】:

  • 我没有在模拟器上运行它,但不是在设备上,所以需要帮助......
  • 打开模拟器切换Simulator - > IO - > keyboard - > connection hardware keyboard options
  • 不,它适用于模拟器。在 iphone 上运行时,键盘不会显示,并且文本字段似乎甚至无法识别它被触摸
  • 我猜你的键盘上层还有一层覆盖了键盘,导致键盘无响应
猜你喜欢
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 1970-01-01
  • 2012-06-03
  • 2019-03-21
相关资源
最近更新 更多