关闭键盘数字键盘

时间:2013-02-08 17:06:35

标签: ios xamarin.ios

当用户按下背景时,我想解雇我的数字键盘。我的问题是我找不到一个文本字段来调用ResignFirstResponder。我正在使用MonoTouch.Dialog。因为我可以覆盖InputAccessoryView,这是我的代码:

using System;
using MonoTouch.Dialog;
using MonoTouch.UIKit;
using System.Drawing;

namespace MyApp
{
public class JMADialogViewController : DialogViewController
{
    public JMADialogViewController (RootElement root, bool pushing) : base(UITableViewStyle.Grouped, root, pushing)
    {
    }

    UIView dismiss;

    public override UIView InputAccessoryView 
    {
        get 
        {
            if (dismiss == null)
            {
                dismiss = new UIView(new RectangleF(0,0,320,27));         
                dismiss.BackgroundColor = UIColor.Black;
                UIButton dismissBtn = new UIButton(new RectangleF(255, 2, 58, 23));
                dismissBtn.SetTitle("Done", UIControlState.Normal);      
                dismissBtn.TouchDown += delegate {
                    //textField.ResignFirstResponder();
                    dismiss.ResignFirstResponder();
                };
                dismiss.AddSubview(dismissBtn);
            }
            return dismiss;
        }
    }
}

}

3 个答案:

答案 0 :(得分:3)

您可以使用EndEditing()在任何具有焦点文本视图的视图中关闭键盘,因此可能会添加此功能:

        this.View.EndEditing(true);

答案 1 :(得分:1)

你试过吗

[self.view endEditing:YES];

答案 2 :(得分:0)

尝试放置一个没有背景的按钮,并在前面放置所有文本字段。因此,用户触摸的任何地方都会隐藏键盘。 使用此代码将按钮与不作为链接:

[self.view endEditing:YES];

这是我在我的应用中使用的解决方案。希望结果有用!