注意:有两个类似的 SO 问题(1) (2),但它们都没有提供答案。
TL;DR:如何通过让用户触摸视图中的任何空白区域来关闭 MonoTouch.Dialog 中的键盘?
我正在使用 MonoTouch.Dialog 和 UITabBarController 编写应用程序。我的标签之一是“设置”...
当用户开始打字时,键盘挡住了标签栏...
使用 MonoTouch.Dialog,关闭键盘的唯一方法是转到最后一个字段并按“返回”键。考虑到用户在键盘消失之前无法按下任何选项卡这一事实,我想要一种更好的方法来做到这一点。即,如果用户点击屏幕上的任何其他位置,则关闭。
如果没有 MonoTouch.Dialog,这很容易:只需覆盖 TouchesBegan 并调用 EndEditing。但这不适用于 MT.D。我已经尝试将 DialogViewController 子类化并在那里覆盖 TouchesBegan,但它不起作用。我目前不知所措。
或者,我想知道,我最好放弃标签栏,这样我就可以使用顶部带有“后退”按钮的 UINavigationController,它不会被键盘隐藏?