之前:
已经参考Your Second iOS App去完成了StoryBoard的BirdWatching的app;
并且又作了优化,支持在屏幕旋转后,调整输入框的大小;
现在继续参考:Your Second iOS App – Next Steps,去添加设置,只有当输入内容后,Done键才激活:
1.网上找了一堆参考资料,比如:
disable/enable return key in UITextField?
iOS and disabling keyboard search or enter key
但是看得还是不明白。
2。后来参考:
UItextField UITextView 有关键盘的设置
得知:
enablesReturnKeyAutomatically Boolean值-设置在用户没有输入是returnKey禁用,默认值NO
然后去Xcode中看了看原先的TextField,无意间发现一个选项“Auto-enable Return key”,然后此时才注意到,原来此选项上面的就是那个之前所设置的Return Key,设置的是Done,
所以勾选上“Auto-enable Return key”后:
去测试了下,果然就是所需要的效果了:
当输入框中为空时,Done键是disable的,灰色的,不可点击的:
当输入了一些内容,非空后,Done键就是可以点击的蓝色的了:
如此,就轻松实现了原以为需要很复杂编码才能实现的事情。
3.虽然此处已经可以工作了。但是还是想要去找到具体内部是如何实现的,或者说,至少找到相应的代码是如何实现的。
最后经过自己找寻,找到了:
(1)右击MainStoryboard.storyboard->Open As->Source Code,打开其源码,
(2)然后Command+打开搜索框,搜索enablesReturnKeyAutomatically,即可找到:
代码中是设置为YES的。
另外也发现,搜索出来的enablesReturnKeyAutomatically只有一个,即另外一个TextField中,没有类似的enablesReturnKeyAutomatically=NO的设置,所以其他没有设置的enablesReturnKeyAutomatically都是默认的NO了。
【总结】
希望实现,当TextField中有输入内容时,再启动Done键,最简单的做法是:
去MainStoryboard.storyboard中,选中TextFiled->Attribute inspector->选中"Auto-enable Return key"即可。
转载请注明:在路上 » 给Your Second iOS App的BirdWatching设置只有用户在TextField中输入内容后才激活Done键