5

我是新手。当用户在 UITextField 中输入文本后,我无法弄清楚如何以及在何处调用 ResignFirstResponder 以摆脱键盘。我对 UIResponder 类有点困惑。Mono 文档说:“要关闭键盘,请将 UIResponder.ResignFirstResponder 消息发送到当前是第一响应者的文本字段。” 怎么做?有人可以发布一个简单的工作示例吗?Obj-C 中有很多示例,但 C# 中没有。非常感谢。

4

1 回答 1

17

这是我最近做的一个例子

private UITextField _textField;

public override void ViewDidLoad()
{
    _textField = new UITextField();
    _textField.Text = "King Alfonso III";
    _textField.Bounds = bounds;
    _textField.Placeholder = "Username";
    _textField.ShouldReturn = delegate
    {
        _textField.ResignFirstResponder();
        return true;
    };
    View.AddSubview(_textField);
}

此外,如果您提交了带有按钮的表单,请确保您在按钮单击中退出所有文本字段,以避免收到响应者错误。

public void ButtonClick(object sender, EventArgs e)
{
    _textField.ResignFirstResponder();
    // All other textboxes

    // Other button logic
}
于 2010-03-16T12:51:28.097 回答