2015-11-10 56 views
1

我正在执行功能textFieldShouldReturn并在此功能中调用resignFirstResponder()按下回车键时隐藏键盘。它完美的作品,但是当我在这个功能中返回false时,仍然是键盘被隐藏。现在在这里我不明白,如果键盘在两种情况下都隐藏,返回truefalse的用法是什么?为什么textFieldShouldReturn在我返回false时仍然工作?

+0

返回yes并在storyboard中添加了代表 –

回答

4

由于致电resignFirstResponder,键盘正在被解雇。它与textFieldShouldReturn的返回值没有任何关系。

根据我的经验,textFieldShouldReturn的返回值几乎没有用。在绝大多数情况下,您是否返回truefalse没有区别。

我在testFieldShouldReturn的所有用途中返回false。如果您返回true,并且您的textFieldShouldReturn的实现将第一个响应者设置为UITextView,则文本视图最终会添加新行。从textFieldShouldReturn返回false确保不会发生。但这是基于几年前iOS 4或5的经验。我不知道iOS的最新版本是否仍然存在。

+0

是的!! .. exactly..it不管我是否返回true或false都没有区别。但是当我们按回车键(如果返回true)时调用此函数,那么resignFirstResponder当我返回false时调用(不返回false时不调用) – Kirti

+0

当用户点击返回键时调用'textFieldShouldReturn'方法,无论代码是在方法内部。它可以是空的并返回“YES”或“NO”,它会被调用。期。当用户点击返回时,它永远不会被调用。如果你在方法中什么都不做(除了返回值),那么键盘不会消失。只有在'textField'参数中调用'resignFirstResponder',它才会消失。如果您调用'resignFirstResponder',无论您返回YES还是NO,键盘都将消失。 – rmaddy

+0

感谢rmaddy..this正是我的代码发生了什么! – Kirti

相关问题