8

可能重复:
MonoTouch.Dialog:通过触摸 DialogViewController 中的任何位置来关闭键盘

我正在使用 MonoTouch.Dialogs 中的 DialogViewController。我希望能够通过单击对话框的背景来关闭键盘。

我通常采用使用大型自定义按钮填充视图并将其放在所有其他元素后面的技术。但是,我无法在 DialogViewController 中完成这项工作。我在 LoadView 中执行此操作,它只是冻结了所有其他控件。

有没有一种相对简单的方法可以实现我想要的?

4

2 回答 2

7

在视图控制器中:

public override void TouchesBegan (NSSet touches, UIEvent evt)
    {
        base.TouchesBegan (touches, evt);

        myField.ResignFirstResponder();
    }

编辑:根据我的阅读,您可以将 TouchesBegan 事件用于单元格子视图,而不是表格本身。我不肯定这行得通。祝你好运 :)

于 2010-08-12T00:09:54.533 回答
1

miguel.de.icaza 在另一个线程上回答了这个问题: https ://stackoverflow.com/a/10864640/1134836 。

他的解决方案:

   var tap = new UITapGestureRecognizer ();
   tap.AddTarget (() =>{
       dvc.View.EndEditing (true);
   });
   dvc.View.AddGestureRecognizer (tap);
于 2012-06-19T17:04:12.637 回答