切换标签时弹出键盘,破坏一切

Posted

技术标签:

【中文标题】切换标签时弹出键盘,破坏一切【英文标题】:Keyboard Pops Up When Switching Tabs, Ruins Everything 【发布时间】:2012-11-24 17:35:03 【问题描述】:

我有一个基于选项卡的应用程序,其中每个选项卡都将您带到 UITableView 的导航堆栈。莫名其妙地,切换标签偶尔会导致键盘出现。

这特别奇怪,因为它总是在切换到第一个选项卡时发生,其中 UITableView 没有 UITextViews 或 UITextFields,或者任何需要键盘的东西;它只是一个香草字幕单元格的表格。

这也特别烦人,因为用户无法关闭键盘或切换标签!她无法切换选项卡,因为它们被覆盖了,并且没有 TextViews/TextFields 可以将光标放入然后关闭键盘。所以应用程序被有效禁用,必须重新启动。

我会分享一些代码,除了这里的关键组件都是在 Storyboard 中创建的。

有人听说过这样的事吗?知道是什么原因造成的吗?

【问题讨论】:

那是iphone还是ipad?你有截图吗?右下角不显示关闭键盘的键吗? 适用于 iPhone 和 iPad(它是一个通用应用程序)。虽然用户可以在 iPad 上使用关闭按钮,但在 iPhone 上却是一个严重的问题。 检查developer.apple.com/library/ios/#documentation/StringsTextFonts/… - 您可以尝试使用resignFirstResponder 关闭键盘,也许您需要在之前的某些视图上使用becomeFirstResponder 谢谢,但我知道如何关闭键盘;我真正想要的是首先确定它出现的原因。 【参考方案1】:

想通了:如果键盘正在显示并且视图以编程方式从导航堆栈中弹出而不关闭键盘,当您切换到另一个选项卡然后返回时,键盘会重新出现在弹出显示的视图上。

我看不出发生这种情况的任何原因,所以这可能是一个错误。显然,在某种程度上,键盘一直“在那里”,只是在你切换回来之前它是不可见的。

无论如何,这可以通过在弹出导航堆栈之前关闭键盘来避免。

【讨论】:

以上是关于切换标签时弹出键盘,破坏一切的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击按钮时弹出默认的iphone键盘

ios uitextview 怎么设置编辑时弹出键盘

在EditText中,单击特定文本子集时弹出对话框

使 Input Type="Password" 在移动设备上使用数字键盘

php怎样实现点击删除时弹出输入框输入密码确认后再删除?

Google Chrome 移动模拟器:如何在屏幕键盘上显示