【发布时间】:2011-01-21 11:45:52
【问题描述】:
在 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() 方法,我就调用它。 :-)
标签: xamarin.ios monotouch.dialog