? ? ? 之前寫博客都是在CSDN瘾英,最近發(fā)現(xiàn)CSDN總是會有打不開的情況而且有時加載的頁面也不完全刻伊,因此有時有些不爽。簡書實(shí)際已經(jīng)關(guān)注很久了护蝶,會經(jīng)常在簡書上看別人寫的文章,感覺簡書上的文章很不錯翩迈,而且發(fā)現(xiàn)越來越多的人也都開始在簡書上寫文章了持灰。今天本來想用CSDN寫一篇文章的,可發(fā)現(xiàn)之前寫文章的入口找不到了负饲,于是就選擇了簡書堤魁,這是在簡書上的第一篇文章喂链,希望以后能在簡書上的寫文章之路走得遠(yuǎn)一些。
? ? ? ?今天要說的是一個三方庫——IQKeyboardManager妥泉。這個三方庫的作用是防止用戶在輸入文本框的時候鍵盤擋住輸入框椭微,讓用戶無法看到輸入的內(nèi)容。我之前也是遇到這樣的情況的盲链,可當(dāng)時我不知道這個三方庫的存在蝇率,我的處理是將輸入框放在了UIScrollView上,當(dāng)用戶點(diǎn)擊輸入框進(jìn)行輸入文字操作的時候?qū)IScrollView進(jìn)行上移刽沾。
為什么要使用IQKeyboardManager本慕?
1. 不讓鍵盤擋住輸入框 ? 2. 有一個統(tǒng)一收起鍵盤的按鈕
先給大家附上IQKeyboardManager的下載地址:https://github.com/hackiftekhar/IQKeyboardManager
(新增? 附上一個碼云上的地址:https://gitee.com/liangsenliangsen/IQKeyboardManager )
作者是在AppDelegate中開啟了IQKeyboardManager,包括我看其他的一些文章也是這樣做的悠轩,代碼:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
IQKeyboardManager *keyboardManager = [IQKeyboardManager sharedManager];
// 獲取類庫的單例變量
keyboardManager.enable = YES; // 控制整個功能是否啟用
return YES;
}
可我發(fā)現(xiàn)了一個問題间狂,這個三方庫默認(rèn)是會在鍵盤上方顯示一個工具條攻泼,并且工具條中間會顯示輸入框內(nèi)默認(rèn)文字火架,如圖:
如果同樣地在AppDelegate中通過設(shè)置IQKeyboardManager的屬性去隱藏這個工具條,是無效的忙菠。而如果在控制器中去設(shè)置屬性隱藏工具條是有效的何鸡,因此我的想法是將設(shè)置IQKeyboardManager的所有代碼放到根控制器中。
如果在某個控制器中不想使用IQKeyboardManager的功能我們還可以在具體的某個控制器上讓IQKeyboardManager這個三方庫實(shí)效牛欢。代碼:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[IQKeyboardManager sharedManager].enable = NO;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[IQKeyboardManager sharedManager].enable = YES;
}
(后續(xù)增加內(nèi)容:1.如果某個頁面有多個UITextField會有兩個箭頭出現(xiàn)<上骡男、下>,如果某個TextField禁用了傍睹,那么點(diǎn)擊箭頭光標(biāo)就不能定位到這個TextField了)
本篇文章到這里就結(jié)束了隔盛,愿大家加班不多工資多,男同胞都有女朋友拾稳,女同胞都有男朋友吮炕。??