Запуск на iPad. Я представляю контроллер вида. Он использует MonoTouch.Dialog для отображения некоторых полей ввода текста, кнопок и т. Д. При нажатии текстового поля клавиатура появляется. При нажатии вне текстового поля я хотел бы убрать клавиатуру, но она не исчезнет. Я читал, что отклонение клавиатуры невозможно при представлении в виде FormSheet? Это верно?Как убрать клавиатуру в случае модального просмотра?
Вот мой код. Селектор вызывается, но клавиатура остается там, где она есть. Поскольку текстовые поля создаются динамическими системами, я не могу/не хочу вызывать ResignFirstResponder() для каждого из них, но вместо этого позволить представлению стать первым ответчиком, а затем уйти в отставку.
public override void ViewDidLoad()
{
base.ViewDidLoad ();
UITapGestureRecognizer oTapRecognizer = new UITapGestureRecognizer ();
oTapRecognizer.AddTarget(this, new MonoTouch.ObjCRuntime.Selector("ViewTappedSelector:"));
this.View.AddGestureRecognizer (o);
}
[Export("ViewTappedSelector:")]
public void ViewTapped (UIGestureRecognizer sender)
{
this.View.BecomeFirstResponder ();
this.View.ResignFirstResponder ();
}
Как создаются текстовые поля? Может ли представление стать первым ответчиком? –
Текстовые поля создаются MT.Dialog. Я думаю, что все может стать первым ответчиком ...? Пока он предлагает мне метод BecomeFirstResponder(), я называю это. :-) – Krumelur