iOS開發之 - 鍵盤處理---IQKeyboardManager

比較閒,整理了以前用過的一個第三方庫——鍵盤處理神器 IQKeyboardManagergit

日常在開發中,用到輸入框的地方不勝其數,當輸入框位於屏幕底部時,彈起的鍵盤極可能覆蓋輸入框,致使用戶看不到輸入結果,體驗較差...... IQKeyboardManager 能夠很簡單快捷的解決鍵盤遮蓋輸入框的問題,接下來就一塊兒來學習一下吧。github

  • 先簡單認識下 IQKeyboardManager
    GitHub 地址:GitHub 地址app

  • 官方示意效果圖以下:ide

 
官方示意效果圖

再貼一下本身作的簡單效果圖☺️
先說下個人 Xcode 版本是:Version 8.1 (8B62),簡單起見直接在 Main.storyboard 中拖入 7 個UITextField, 每一個 UITextField 都設有佔位文字。工具

 
簡單效果圖☺️

如下是 IQKeyboardManager 的一些具體使用

1. 用 Cocoapod 導入或直接下載拖進去,這裏方便起見直接用 Cocoapod 導入。

IQKeyboardManager 的 GitHub地址:IQKeyboardManager 的 GitHub 地址學習

2. 在 AppDelegate.m 中導入頭文件

#import <IQKeyboardManager/IQKeyboardManager.h> 

3. 在 AppDelegate 中設置全局屬性

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { IQKeyboardManager *keyboardManager = [IQKeyboardManager sharedManager]; // 獲取類庫的單例變量 keyboardManager.enable = YES; // 控制整個功能是否啓用 keyboardManager.shouldResignOnTouchOutside = YES; // 控制點擊背景是否收起鍵盤 keyboardManager.shouldToolbarUsesTextFieldTintColor = YES; // 控制鍵盤上的工具條文字顏色是否用戶自定義 keyboardManager.toolbarManageBehaviour = IQAutoToolbarBySubviews; // 有多個輸入框時,能夠經過點擊Toolbar 上的「前一個」「後一個」按鈕來實現移動到不一樣的輸入框 keyboardManager.enableAutoToolbar = YES; // 控制是否顯示鍵盤上的工具條 keyboardManager.shouldShowTextFieldPlaceholder = YES; // 是否顯示佔位文字 keyboardManager.placeholderFont = [UIFont boldSystemFontOfSize:17]; // 設置佔位文字的字體 keyboardManager.keyboardDistanceFromTextField = 10.0f; // 輸入框距離鍵盤的距離 return YES; } 

4. 若某個類不須要使用 IQKeyboardManager,能夠在這個類中這樣設置

- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [IQKeyboardManager sharedManager].enable = NO; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [IQKeyboardManager sharedManager].enable = YES; } 

5. 經常使用屬性介紹

  • sharedManager:獲取類庫的單例變量
  • enable:項目使用不使用 IQKeyboardManager 這個類庫,固然,某些頁面能夠根據須要單獨設置
  • shouldResignOnTouchOutside:點擊背景頁面時是否收起鍵盤
  • shouldToolbarUsesTextFieldTintColor:控制鍵盤上的工具條文字顏色是否用戶自定義,默認爲 NO
  • toolbarManageBehaviour:有多個輸入框時,能夠經過點擊Toolbar 上的「前一個」 「後一個」按鈕來實現移動到不一樣的輸入框
  • enableAutoToolbar:是否顯示鍵盤上的工具條
  • shouldShowTextFieldPlaceholder:是否顯示佔位文字(若是輸入框有佔位文字,那麼在 Toolbar 中默認會顯示出來)
  • placeholderFont:佔位文字的字體大小
  • keyboardDistanceFromTextField:輸入框距離鍵盤的距離

6. 再推薦幾篇不錯的相關文章

相關文章
相關標籤/搜索