2

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

 var tap = new UITapGestureRecognizer ();

 tap.AddTarget (() =>{

    dvc.View.EndEditing (true);

 });

 dvc.View.AddGestureRecognizer (tap);

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

4

1 回答 1

1

最简单的方法是TouchesEnded在你的UIViewController.

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

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

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

    if (evt.TouchesForView(viewYouWantToIgnore) == null) {
        //Dismiss your keyboard here
    }
}
于 2013-01-09T14:02:20.377 回答