键盘可以通过触摸MonoTouch.Dialog中的单元格外部来关闭吗?
本文关键字:外部 单元格 触摸 可以通过 MonoTouch Dialog 键盘 | 更新日期: 2023-09-27 18:30:52
可能的重复项:
MonoTouch.Dialog:通过触摸 DialogViewController 中的任意位置来关闭键盘
我注意到当触摸表格单元格(我认为是"部分")外部时,不会调用 touchesBegin 方法,所以我无法调用 EndEditing
或 ResignFirstReponder
.
我正在创建一个多行入口元素;因此,返回键转到新行而不是"返回"。这是预期行为。但是,我没有办法关闭键盘。
我注意到在iPhone上的菜单设置(常规>键盘>快捷方式)或输入凭据时,触摸外部区域不会使响应者辞职。这是否意味着这是整个iOS的限制(或者苹果只是认为不适合这些情况)?
有没有办法这样做?
我收集到的,这里有一个相同的问题,但没有人想出一个有效的答案:
我可以通过触摸DialogViewController (MonoTouch.Dialog)的背景来关闭iPhone键盘吗?
也许在一年半内有人解决了它?
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。