0

我可以在模拟器上运行我的应用程序,当我点击文本字段时,键盘被关闭。如果我在我的设备上运行应用程序并在键盘启动时触摸文本字段之外,则不会关闭键盘。我已经覆盖了 TouchesEnded 方法,但它没有被调用(UIAlertView 只是让我查看方法是否被调用,但从不显示警报)。这是我的代码

public override void TouchesEnded (NSSet touches, UIEvent evt)
{
    base.TouchesEnded (touches, evt);
    usernameTxtField.ResignFirstResponder ();
    UIAlertView view = new UIAlertView ("Test", "TouchesEnded", null, "OK", null);
    view.Show ();
    foreach (var item in this) {
        var txtField = item as UITextField;
        if (txtField != null && txtField.IsFirstResponder)
            txtField.ResignFirstResponder ();
    }
}

关于我做错了什么的任何想法?

**编辑:**通过这样做让它工作。

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

        foreach(var item in this)
        {
            var txtField = item as UITextField;
            if(txtField != null)
                if (txtField.IsFirstResponder)
                    txtField.ResignFirstResponder ();
        }
    }
4

0 回答 0