美文网首页iOS很屌的项目运用iOS移动端开发
从此不再担心键盘遮住输入框OC(二)

从此不再担心键盘遮住输入框OC(二)

作者: Jiar_ | 来源:发表于2015-12-07 00:13 被阅读2711次

    在我发布这篇文章没多久之前,我发布了一篇叫 从此不再担心键盘遮住输入框OC(一)的文章。我在那篇文章中介绍了我的键盘组件KeyboardToolBar

    新版效果图


    KeyboardToolBar2 showKeyboardToolBar2 show

    当时的KeyboardToolBar还只是支持UITextField。后来也有收到别人的建议,希望增加支持UITextField之类的。其实本人也早就想着再完善一下。正好这个周末不忙,我就稍微优化了下。发布了V2版本。

    现在的KeyboardToolBar支持UITextFieldUITextViewUISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即可开始使用,无需额外代码。

    KeyboardToolBar 是什么

    KeyboardToolBar的主旨:从此不再担心键盘遮住输入框。目前是V2版本,如果想了解V1版本,请移步V1版本

    如何开始使用

    使用CocoaPods安装

    Podfile

      platform :ios, '7.0' 
      pod "KeyboardToolBar"
    

    Usage

    现在,KeyboardToolBar支持UITextFieldUITextViewUISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即�默认为所有的UITextFieldUITextViewUISearchBar自动注册使用了KeyboardToolBar,你无需使用额外的代码来开启。如果你不想用KeyboardToolBar,你可以使用相应的unregisterKeyboardToolBar方法来反注册即可移除KeyboardToolBar。如果你已经为某个控件移除了KeyboardToolBar,又想要继续使用,你可以使用相应的registerKeyboardToolBar方法为控件重新注册使用KeyboardToolBar

    import

      /// 导入就是使用 
      /// 导入后,将自动为UITextField、UITextView和UISearchBar注册使用KeyboardToolBar 
      #import "KeyboardToolBar.h"
    

    注册使用KeyboardToolBar

      /// 以下均为可选方法,你可以不使用。 
      /// 为UITextField注册使用KeyboardToolBar. 
      [KeyboardToolBar registerKeyboardToolBarWithTextField:self.textField]; 
      /// 为UITextView注册使用KeyboardToolBar. 
      [KeyboardToolBar registerKeyboardToolBarWithTextView:self.textView]; 
      /// 为UISearchBar注册使用KeyboardToolBar.
      [KeyboardToolBar registerKeyboardToolBarWithSearchBar:self.searchBar];
    

    反注册取消KeyboardToolBar

      /// 以下均为可选方法,你可以不使用。 
      /// 你可以为目标UITextField反注册取消使用KeyboardToolBar.
      [KeyboardToolBar unregisterKeyboardToolBarWithTextField:self.textField]; 
      /// 你可以为目标UITextView反注册取消使用KeyboardToolBar 
      [KeyboardToolBar unregisterKeyboardToolBarWithTextView:self.textView]; 
      /// 你可以为目标UISearchBar反注册取消使用KeyboardToolBar.
      [KeyboardToolBar unregisterKeyboardToolBarWithSearchBar:self.searchBar]; 
    

    License

    KeyboardToolBar is released under the MIT license.

    相关文章

      网友评论

      • 7d3fadbb4407:感谢,如果有完成按钮的回调就更完美了。
      • ebay_Happy:首先感谢大神分享,辛苦。其次提点建议,个人觉得解决了一部分问题,,在其他用到的输入框地方,都会多出一个完成的条,很变扭。
      • 迟明子:感谢lz的分享,我这种伸手党确实很汗颜.
        目前用下来有这样的问题
        ①UITextFieldDelegate 对应的代理方法textFieldDidEndEditing:reason:不能使用.
        会影响对输入状况的监控.
        ②如果是密码输入框,当改变密码输入框的(密码显示/字符显示)状态的时候,KeyBoardToolBar上的字符串没有同步改变,如果继续输入密码会导致密码框清空.
        ps:lz有更新的计划么~~
      • 50c8dc99c5fa:太好用,非常感谢...
      • 字母加数字:如果把这个用在登陆界面,密码不是也显示出来了吗,效果很好,可我怎么总觉得体验上不如上移view好.
        Jiar_:@61c3c9cb021d 确实如此,我这也只是抛一个思路。至于密码显示的问题,还是好解决的。
      • so_what:为什么用了你的这个 storeBoard 拖的textView ,设置的代理不起作用了,要手动写代理才有用?
        Jiar_:@so_what 是会有这种情况的,因为对于textview的处理,我在内部也设置了代理,所以会冲突。textview和searchbar都会有这种情况,textfield没有。对于这种情况,目前我没想到更好的方法。如果有方案,我会尽快改进。
        so_what:@Jiar_ 不是说你的控件不起作用,而是我在storeBoard设置了textView的代理,监听textView字数的改变,发现不走这个didChangeTextView代理方法,需要在viewDidLoad 里面用代码设置代理才会走代理方法,之前一直都可以直接拖代理的
        Jiar_:@so_what 你指的是需要再手动使用注册方法才能用吗?
      • 1658466bc0dc:nice jj
      • 轩辕小羽:不错 刚好能用到
        Jiar_:@轩辕小羽 嗯。有帮助就好
      • 曾樑::+1::+1:
        Jiar_:@曾樑 :wink:

      本文标题:从此不再担心键盘遮住输入框OC(二)

      本文链接:https://www.haomeiwen.com/subject/yshehttx.html