使用DecimalPad时如何关闭键盘

Dri*_*uak 10 iphone keyboard xamarin.ios

我有一个UITableView自定义单元格有一个TextField.我有DecimalPad,我们都知道,没有完成密钥.我之前已经解决了这种类型的问题,当我在正常的UIView上有一个"仅十进制"文本字段时,通过处理TouchesEnded事件然后检查是否TextField是第一个响应者,如果是,那么它将会重新签名,但是如果该技术可以现在工作然后我无法弄清楚TouchesEnded我应该使用谁(UIView所有内容都出现在,UITableViewCell,CellControler,TextField ......我想我已经尝试了一切).

我希望有另一种更清洁的方法来解决这个问题.

任何人?

Luk*_*uke 12

我认为大卫有最好的主意 - 这里有一些Monotouch代码可以让你入门.您需要将它放在显示小数点的视图控制器中:

UIView dismiss;

public override UIView InputAccessoryView 
{
    get 
    {
        if (dismiss == null)
        {
            dismiss = new UIView(new RectangleF(0,0,320,27));
            dismiss.BackgroundColor = UIColor.FromPatternImage(new UIImage("Images/accessoryBG.png"));          
            UIButton dismissBtn = new UIButton(new RectangleF(255, 2, 58, 23));
            dismissBtn.SetBackgroundImage(new UIImage("Images/dismissKeyboard.png"), UIControlState.Normal);        
            dismissBtn.TouchDown += delegate {
                 textField.ResignFirstResponder();
            };
            dismiss.AddSubview(dismissBtn);
        }
        return dismiss;
    }
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*rry 9

如果您的目标是iOS 4.0或更高版本,则可以创建一个inputAccessoryView,其中包含一个Done按钮以附加到键盘上,该键盘将在点按时关闭键盘. 以下是有关创建简单inputAccessoryView的文档中的示例.