使用MonoTouch.Dialog轻击导航栏时,Monotouch隐藏键盘

时间:2013-01-02 22:02:53

标签: xamarin.ios monotouch.dialog

当我点击输入元素之外的东西时,我正在使用此代码在单触摸iOS应用程序中隐藏键盘。

 var tap = new UITapGestureRecognizer ();

 tap.AddTarget (() =>{

    dvc.View.EndEditing (true);

 });

 dvc.View.AddGestureRecognizer (tap);

但是,我想在用户点击顶部Navbar时隐藏键盘。我在其他应用程序中看到了这一点。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

最简单的方法是覆盖TouchesEnded中的UIViewController

这将为您提供整个控制器内的任何触摸事件。

如果您需要在某个视图中忽略触摸,请执行以下操作:

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

    if (evt.TouchesForView(viewYouWantToIgnore) == null) {
        //Dismiss your keyboard here
    }
}