可能重复:
MonoTouch.Dialog:在任何地方DialogViewController触摸键盘驳回
我注意到,触摸表格单元格(这是我想的是“部分”)之外时,该方法的touchesBegan不会被调用,所以我不能打电话EndEditing
或ResignFirstReponder
。
我创建一个多输入元件; 正因为如此,返回键,可进入一个新的行,而不是“回归”。 这是预期的行为。 不过,我也没有办法消除键盘即可。
我注意到在iPhone(常规 - >键盘 - >快捷方式)菜单或输入凭据时的设置,即在外部区域触及不辞职响应。 这是否意味着,这是作为一个整体的iOS的限制(或Apple只是没有看到适合在这些情况下)?
反正有做到这一点?
还有就是,我收集,相同的问题在这里,但没有一个人想出了一个有效的答案:
我可以辞退iPhone的键盘通过触摸DialogViewController(MonoTouch.Dialog)的背景是什么?
也许在一年半的人已经解决了吗?
miguel.de.icaza回答在不同的线程这个问题: https://stackoverflow.com/a/10864640/1134836 。
他的解决方案:
var tap = new UITapGestureRecognizer (); tap.AddTarget (() =>{ dvc.View.EndEditing (true); }); dvc.View.AddGestureRecognizer (tap);
我觉得你有2种选择:
- 将一个“完成”按钮某处
- 胡克在您的视图的背景触摸事件解雇
我觉得第一个选项是更好,因为它是Safari浏览器做什么。
您可以将工具栏键盘的顶部,模拟一下Safari浏览器也有InputAccessoryView
。 以下是在OBJ - C的这样的例子(应该很容易端口): http://gabriel-tips.blogspot.com/2011/05/input-accessory-view-how-to-add-extra.html
它可能不适合你的布局工作,但是,如果屏幕房地产是紧的。 去与选项#2在这种情况下。
文章来源: Can the keyboard be dismissed by touching outside of the cell in MonoTouch.Dialog? [duplicate]