2013-02-08 166 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];

這是我在我的應用程序中使用的解決方案。希望結果有幫助!