当用户按下背景时,我想解雇我的数字键盘。我的问题是我找不到一个文本字段来调用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;
}
}
}
}
答案 0 :(得分:3)
您可以使用EndEditing()在任何具有焦点文本视图的视图中关闭键盘,因此可能会添加此功能:
this.View.EndEditing(true);
答案 1 :(得分:1)
你试过吗
[self.view endEditing:YES];
答案 2 :(得分:0)
尝试放置一个没有背景的按钮,并在前面放置所有文本字段。因此,用户触摸的任何地方都会隐藏键盘。 使用此代码将按钮与不作为链接:
[self.view endEditing:YES];
这是我在我的应用中使用的解决方案。希望结果有用!