2013-02-08 94 views
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; 
     } 
    } 
} 

}

+0

为什么在java中标记为ios? – JomanJi 2013-07-25 17:31:19

回答

3

您可以关闭该键盘具有针对性的TextView下它EndEditing任何视图(),所以可能加入这将工作:

 this.View.EndEditing(true); 
+0

谢谢!这是我的最终代码:http://forums.xamarin.com/discussion/comment/3810#Comment_3810 – 2013-02-08 20:05:05

1

你试过

[self.view endEditing:YES]; 
0

尝试把一个没有背景和按钮前面放置了所有的文本框。所以用户触摸的任何地方都会隐藏键盘。 使用此代码链接按钮与不作为:

[self.view endEditing:YES];

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