我可以通过触摸DialogViewController(MonoTouch.Dialog)的背景来解雇iPhone键盘吗?

时间:2010-08-11 23:59:06

标签: keyboard xamarin.ios monotouch.dialog

  

可能重复:
  MonoTouch.Dialog: Dismissing keyboard by touching anywhere in DialogViewController

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

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

是否有一种相对简单的方式来实现我想要的?

2 个答案:

答案 0 :(得分:7)

在视图控制器中:

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

        myField.ResignFirstResponder();
    }

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

答案 1 :(得分:1)

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

他的解决方案:

   var tap = new UITapGestureRecognizer ();
   tap.AddTarget (() =>{
       dvc.View.EndEditing (true);
   });
   dvc.View.AddGestureRecognizer (tap);