machinemxy
V2EX  ›  Apple

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

  •  
  •   machinemxy · Sep 1, 2015 · 3861 views
    This topic created in 3940 days ago, the information mentioned may be changed or developed.

    普通键盘关闭方法我已经掌握了,即写个 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 ”这个奇怪的错误导致的。
    求教了。

    6 replies    2015-09-02 10:53:17 +08:00
    chisj
        1
    chisj  
       Sep 1, 2015   ❤️ 1
    输入框所在页面的 controller 里:[self.view endEditing:YES]。翻译成 swift 就好了。
    Deffi
        2
    Deffi  
       Sep 1, 2015
    1. UITextField.resignFirstResponder ()

    2. UITextField.endEditing (true )

    3. self.view.endEditing (true )
    machinemxy
        3
    machinemxy  
    OP
       Sep 1, 2015
    @chisj 确实如您所言,我新开了个项目用您这种方式成功了。我当前的问题可能是因为,我这些控件都是包在一个 scroll view 当中的,所以用上述的方法就不凑效了。当然我也试过用 scrollView.endEditing (true ),也没有成功呢。
    machinemxy
        4
    machinemxy  
    OP
       Sep 1, 2015
    @Deffi 谢谢解答。似乎我是因为包在一个 scrollview 当中,导致您所提到的方法均无法在这种情况下发生应有的作用。我这种情况下可有什么 alternative 的解决方法?
    NordicShaw
        5
    NordicShaw  
       Sep 2, 2015   ❤️ 1
    https://github.com/hackiftekhar/IQKeyboardManager
    这个可以解决你的需求。 scrollview 也能搞定。
    machinemxy
        6
    machinemxy  
    OP
       Sep 2, 2015
    @NordicShaw 谢谢推荐
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3244 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
    ♥ Do have faith in what you're doing.