最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

给Your Second iOS App的BirdWatching设置只有用户在TextField中输入内容后才激活Done键

iOS crifan 2326浏览 0评论

之前:

已经参考Your Second iOS App完成了StoryBoard的BirdWatching的app

添加屏幕旋转的支持

并且又作了优化,支持在屏幕旋转后,调整输入框的大小

现在继续参考:Your Second iOS App – Next Steps,去添加设置,只有当输入内容后,Done键才激活:


1.网上找了一堆参考资料,比如:

Enable keyboard return key

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”后:

auto-enable return key

去测试了下,果然就是所需要的效果了:

当输入框中为空时,Done键是disable的,灰色的,不可点击的:

disable len 0

当输入了一些内容,非空后,Done键就是可以点击的蓝色的了:

not empty done active

如此,就轻松实现了原以为需要很复杂编码才能实现的事情。

3.虽然此处已经可以工作了。但是还是想要去找到具体内部是如何实现的,或者说,至少找到相应的代码是如何实现的。

最后经过自己找寻,找到了:

(1)右击MainStoryboard.storyboard->Open As->Source Code,打开其源码,

(2)然后Command+打开搜索框,搜索enablesReturnKeyAutomatically,即可找到:

find code setting

代码中是设置为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键

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.172 seconds, using 22.12MB memory