2013-02-08 3 views
0

Я хотел был бы уволить мою цифровую панель, когда пользователь нажимает фон. Моя проблема: я не могу найти текстовое поле для вызова ResignFirstResponder. Я использую MonoTouch.Dialog. Потому что я могу переопределить InputAccessoryView, вот мой код:Dismiss Keyboard Number Pad

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

Почему это помечено как ios, когда это java? – JomanJi

ответ

3

Вы можете закрыть клавиатуру в любом виде, который имеет целенаправленный TextView под ним с EndEditing(), поэтому, возможно, это будет работать:

 this.View.EndEditing(true); 
+0

Спасибо! Вот мой последний код: http://forums.xamarin.com/discussion/comment/3810#Comment_3810 –

1

Вы пробовали

[self.view endEditing:YES]; 
0

Попробуйте ввести кнопку без фона и на фронт поместил все текстовые поля. Поэтому любое место, которое пользователь прикасается, скроет клавиатуру. Ссылка на кнопку бездействия с этим кодом:

[self.view endEditing: YES];

Это решение, которое я использую в своих приложениях. Надеюсь, результат полезен!

Смежные вопросы