求解 swift 开发 iOS 何以关闭数字键盘

2015-09-01 14:24:18 +08:00
 machinemxy

普通键盘关闭方法我已经掌握了,即写个 textFieldShouldReturn 方法,然后按 return 键就行了。但是数字键盘却没有 return 键。通过网络检索,我发现有人说道重写个 touchesBegan 方法然后里面用 xxx.resignFirstResponder ()就行了。但是我试了还是不行啊。我怀疑要么是这个方法并不正确,要么是因为我的 xcode 爆出了“ Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 1730230351_Portrait_iPhone-Simple-Pad_Default ”这个奇怪的错误导致的。
求教了。

3136 次点击
所在节点    Apple
6 条回复
chisj
2015-09-01 15:20:17 +08:00
输入框所在页面的 controller 里:[self.view endEditing:YES]。翻译成 swift 就好了。
Deffi
2015-09-01 16:06:45 +08:00
1. UITextField.resignFirstResponder ()

2. UITextField.endEditing (true )

3. self.view.endEditing (true )
machinemxy
2015-09-01 16:18:38 +08:00
@chisj 确实如您所言,我新开了个项目用您这种方式成功了。我当前的问题可能是因为,我这些控件都是包在一个 scroll view 当中的,所以用上述的方法就不凑效了。当然我也试过用 scrollView.endEditing (true ),也没有成功呢。
machinemxy
2015-09-01 16:20:07 +08:00
@Deffi 谢谢解答。似乎我是因为包在一个 scrollview 当中,导致您所提到的方法均无法在这种情况下发生应有的作用。我这种情况下可有什么 alternative 的解决方法?
NordicShaw
2015-09-02 03:53:56 +08:00
https://github.com/hackiftekhar/IQKeyboardManager
这个可以解决你的需求。 scrollview 也能搞定。
machinemxy
2015-09-02 10:53:17 +08:00
@NordicShaw 谢谢推荐

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX