0

当用户按下背景时,我想关闭我的数字键盘。我的问题是我找不到调用 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;
        }
    }
}

}

4

3 回答 3

3

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

        this.View.EndEditing(true);
于 2013-02-08T17:20:14.243 回答
1

你有没有尝试过

[self.view endEditing:YES];
于 2013-02-08T17:15:17.293 回答
0

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

[self.view endEditing:YES];

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

于 2013-07-25T15:33:51.380 回答