我的问题涉及使用monotouch进行iphone开发。
我的布局非常简单,它是一个工具栏,里面有一个文本框。 我在文本框上启用了清除按钮选项。
我已将一些代码放在一起,如下所示,每次按键调用我的代理,因此如果用户清除文本框中的所有字符,则iphone键盘会消失。
但是,如果用户选择文本框上的clear(x)按钮,代理仍然被引发(我已经检查过),但ResignFirstResponder不会隐藏键盘。
txtReply.EditingChanged += delegate {
if ( txtReply.Text == "" ) {
txtReply.ResignFirstResponder();
}
};
有什么想法吗?
答案 0 :(得分:0)
试试这个:
替换: (txtReply.Text ==“”)
有了这个: (txtReply.Text == nil || [txtReply.text length] == 0)
答案 1 :(得分:0)
您需要继承UITextFieldDelegate并覆盖ShouldClear方法。当内置的清除按钮被命中时,UITextField会调用此方法。子类化看起来像this。在overrode方法中,通过文本字段,您可以检查文本是否为空白,如果是,则关闭键盘。