Monotouch iphone - 单击清除时隐藏键盘(x)

时间:2011-02-12 20:52:49

标签: .net iphone xamarin.ios

我的问题涉及使用monotouch进行iphone开发。

我的布局非常简单,它是一个工具栏,里面有一个文本框。 我在文本框上启用了清除按钮选项。

我已将一些代码放在一起,如下所示,每次按键调用我的代理,因此如果用户清除文本框中的所有字符,则iphone键盘会消失。

但是,如果用户选择文本框上的clear(x)按钮,代理仍然被引发(我已经检查过),但ResignFirstResponder不会隐藏键盘。

txtReply.EditingChanged  += delegate {
                    if ( txtReply.Text == "" ) {
                        txtReply.ResignFirstResponder();
                    }
        };

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

替换:     (txtReply.Text ==“”)

有了这个:     (txtReply.Text == nil || [txtReply.text length] == 0)

答案 1 :(得分:0)

您需要继承UITextFieldDelegate并覆盖ShouldClear方法。当内置的清除按钮被命中时,UITextField会调用此方法。子类化看起来像this。在overrode方法中,通过文本字段,您可以检查文本是否为空白,如果是,则关闭键盘。