[摘要:常常正在開辟一個運用順序的時間,我們會碰到一個題目。那便是正在iPhone上的輸進框 UITextField UITextView 。目前有了那個類庫,IQKeyboardManager能夠防備滑動鍵盤正在彈出的時間掩蓋一個文本字]
經常在開發一個應用程序的時候,我們會遇到一個問題。那就是在iPhone上的輸入框UITextFieldUITextView。現在有了這個類庫,IQKeyboardManager可以防止滑動鍵盤在彈出的時候覆蓋一個文本字段。更重要的是,全程不需要你輸入任何代碼。使用IQKeyboardManager您只需添加到您的項目的框架或添加源文件到你的項目。就可以看到你想要的效果了。當然如果你需要更多的功能,可以寫那么一點點的代碼,就可以讓你的應用程序高大上啊高大上...
主要特點
1.除了想要特殊的效果外,你不需要寫一行代碼2.完全的類庫自動工作模式3.沒有那么多的UIScrollView,除非你需要添加4.沒有那么多的子類啦5.不需要手動,好控制啊6.再也不需要導入那么多的"#import"了
IQKeyboardManager可以很好的支持項目的所有轉動方向,并且和ToolBar很好的結合。甚至允許您自定義距離文本字段,添加“下一個”“上一個”“完成”按鈕作為鍵盤UIToolbar,還可以在需要的時候播放聲音。
截圖說明
Gif 動畫
硬件需求
Minimum iOS Target: iOS 5.0
Minimum Xcode Version: Xcode 5.0
如何使用
Cocoapod安裝:
你可以使用cocoapod來安裝IQKeyboardManager類庫。在Podfile文件中這樣寫:
pod 'IQKeyboardManager'
就可以了
Framework加入:
將KeyboardManager.framework? ``IQKeyboardManager.bundle等文件加入到項目中即可。詳細可以下載Demo并查看。
!注意:需要在項目的設置other linker? flag中加入-ObjC。
(建議:目前Cocoapods已經是很成熟的第三方類庫管理工具了,推薦使用。)
常用的屬性和方法介紹
之前也說了,項目中,如果不是特別需要,一行代碼都不用寫就已經可以夠你的完美使用了。不排除我們很多的“處女座”的程序員或者設計師嘛,這個時候,就可以添加那么幾行代碼就可以和我們的“處女心”了。
1.+sharedManager:獲取類庫的單例變量。我們也知道,一個項目中都是使用一個類庫的單例的,不然每一個輸入框我們怎么好控制呢?所以如果你想自己修改一下界面,那么就要先獲取到這個單例的變量,然后在往下面操作。2.enable:這個屬性就是說,我們的項目里面使用不適用這個類庫所提供的輸入框不遮擋技術。如果您再某些頁面里面不需要,可以在獲取到單例之后,將這個enable變量設置為FALSE。3.keyboardDistanceFromTextField:這個就是我們的輸入框距離我們的鍵盤的距離了。默認是10px。就是說輸入框默認會自動移動到鍵盤的上面10個像素以方便用戶輸入。如果你需要自定義,可以改變這個值。4.enableAutoToolbar:IQKeyboardManager提供的鍵盤上面默認會有“前一個”“后一個”“完成”這樣的輔助按鈕。如果你不需要,可以將這個enableAutoToolbar屬性設置為NO,這樣就不會顯示了。5.toolbarManageBehaviour:如果有多個輸入框,那么我們在輸入的時候可以通過點擊在Toolbar中的“前一個”“后一個”按鈕來實現移動到不同的輸入框。可是輸入框的移動肯定是有一個規律的。這里就提供了兩個方式。第一種就是加入的順序,第二種就是按照Tag值的大小排序。這個屬性可以設置兩個參數:IQAutoToolbarBySubviews 和IQAutoToolbarByTag 。6.shouldToolbarUsesTextFieldTintColor:這個是用來將輸入框的tinicolor和toolbar的tinicolor相互協調的,默認為NO。7.shouldShowTextFieldPlaceholder:如果輸入框友placeholder的話,那么在toolbar中默認會顯示出來。在中間的部分會顯示uitextfield的placeholder。如果你不需要,可以設置NO。8.placeholderFont :這個就是toolbar中顯示placeholder的字體大小了。你可以自定義通過傳入一個font。9.canAdjustTextView :這樣說,如果你的輸入框有600px的高度。那么在點擊輸入框的時候,鍵盤彈出來了,輸入框會如何顯示呢?如果把這個參數打開,那么輸入框的高度會剛好的降低,就是說,你可以看到輸入框的四個board,操作一下就會一目了然:)
源地址:https://github.com/yangfanacc/IQKeyboardManager?Demo下載地址:https://github.com/yangfanacc/IQKeyboardManager/archive/master.zip