如何以编程方式关闭Monotouch中的键盘

时间:2012-05-14 19:49:39

标签: xamarin.ios

有许多如何在本机Objective-C中执行此操作的示例,但我似乎无法找到如何在MonoTouch中的C#代码中完成相同操作的示例。

我想解除用户按下返回键时弹出的键盘。

EditingDidEnd正确的事件陷阱?我似乎无法找到解雇第一响应方法调用。

非常感谢。

3 个答案:

答案 0 :(得分:3)

查看here样本。

通常,如果您可以链接到样本,则会更容易。人们会看到你想要的东西,并告诉你如何使用MonoTouch这样做。提供自己的部分/不工作代码通常也是一个很大的帮助。

答案 1 :(得分:3)

Here is gist showing如何在数字键盘上方添加关闭按钮。您可以使用1LOC

执行此操作
myTextField.SetKeyboardEditorWithCloseButton(UIKeyboardType.NumberPad); 

使用此扩展方法:

public static void SetKeyboardEditorWithCloseButton (this UITextField txt, UIKeyboardType     keyboardType, string closeButtonText = "Done")
{
    UIToolbar toolbar = new UIToolbar ();
    txt.KeyboardType = keyboardType;
    toolbar.BarStyle = UIBarStyle.Black;
    toolbar.Translucent = true;
    toolbar.SizeToFit ();
    UIBarButtonItem doneButton = new UIBarButtonItem (closeButtonText, UIBarButtonItemStyle.Done,
                                                      (s, e) => {
        txt.ResignFirstResponder ();
    });
    toolbar.SetItems (new UIBarButtonItem[]{doneButton}, true);

    txt.InputAccessoryView = toolbar;
}

numeric keyboard with closing button http://moocode.net/img/numeric_editor.png

答案 2 :(得分:0)

TouchesBegan()方法中,只需拨打textbox.ResignFirstReponder(),就像通常那样的文本框或View.EndEditing(true);。当然,这只是在你从UIViewController继承而且有这些事件的地方。