代码之家  ›  专栏  ›  技术社区  ›  dommer

我可以通过触摸DialogViewController(MonoTouch.Dialog)的背景来关闭iPhone键盘吗?[重复]

  •  8
  • dommer  · 技术社区  · 15 年前

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

    我正在使用MonoTouch的DialogViewController。对话。我想通过点击对话框的背景来关闭键盘。

    我通常使用一个大的自定义按钮填充视图,并将其放置在所有其他元素的后面。但是,我无法在DialogViewController中执行此操作。我在LoadView中这么做,它只是冻结了所有其他控件。

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

    2 回复  |  直到 8 年前
        1
  •  7
  •   kwcto    15 年前

    视图控制器:

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

    编辑:从我读到的内容来看,您可以对单元格子视图使用ToucheSBegind事件,而不是表本身。我不确定这是否有效。祝你好运:)

        2
  •  1
  •   Community Mohan Dere    8 年前

    米格尔。德伊卡扎用另一种思路回答了这个问题: https://stackoverflow.com/a/10864640/1134836 .

    他的解决方案是:

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