在ios開發(fā)時我們會遇到鍵盤高度無法適應的問題,這時候該怎么解決呢?下面由我教大家怎么解決iOS中的鍵盤高度變化的問題。

創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站設計、網(wǎng)站制作的網(wǎng)絡公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)依托的技術實力、以及多年的網(wǎng)站運營經驗,為您提供專業(yè)的成都網(wǎng)站建設、全網(wǎng)整合營銷推廣及網(wǎng)站設計開發(fā)服務!
? ? 完美解決iOS中的鍵盤適應高度變化的 方法
#pragma mark - reg unreg notification
- (void)regNotification
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
}
- (void)unregNotification
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];
}
#pragma mark - notification handler
- (void)keyboardWillChangeFrame:(NSNotification *)notification
{
NSDictionary *info = [notification userInfo];
CGFloat duration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
CGRect beginKeyboardRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect endKeyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat yOffset = endKeyboardRect.origin.y - beginKeyboardRect.origin.y;
CGRect inputFieldRect = self.inputTextField.frame;
CGRect moreBtnRect = self.moreInputTypeBtn.frame;
inputFieldRect.origin.y += yOffset;
moreBtnRect.origin.y += yOffset;
[UIView animateWithDuration:duration animations:^{
self.inputTextField.frame = inputFieldRect;
self.moreInputTypeBtn.frame = moreBtnRect;
}];
}
通過獲取鍵盤消息的開始狀態(tài)、結束狀態(tài),以及變化周期,可以計算出具體的Y偏移,從而在相同時間里做相同偏移量。
猜你喜歡:
2. 怎樣把電腦上的照片導入iphone
3. iphone照片怎么導入電腦
4. 電腦ipad模擬器的安裝方法
5. 安卓程序員必備的開發(fā)工具
6. iPhone5s怎么刷機
鍵盤高度是一個非固定值,以前都是216,但是現(xiàn)在由于介入太多的第三方鍵盤,高度五花八門,所以你只能通過鍵盤彈出的監(jiān)聽來獲取鍵盤高度。
在自定義鍵盤的時候,碰到要根據(jù)橫豎屏,然后改變自定義鍵盤高度的需求,但是發(fā)現(xiàn),無論使用autolayout還是設置frame去改變高度,都沒有反應。后面經過查閱,才知道有個Intrinsic Content Size屬性。可以設置視圖的自定義大小。
關于 intrinsicContentSize 及 約束優(yōu)先級/content Hugging/content Compression Resistance的詳解,參考如下博客:
下面是自己的簡單記錄:
改變自定義鍵盤的高度可以設置鍵盤View的視圖Intrinsic Content Size屬性。
先設置屬性:
然后再調用方法:
大概demo如下:
在蘋果手機的鍵盤設置內,進入到鍵盤高度功能內向上拖動,即可調節(jié)蘋果手機鍵盤的大小。
工具/原料:iPhone12、ios14.1.7。
1、點擊工具箱。選擇輸入法右上角的工具箱圖標。
2、點擊鍵盤高度。選擇鍵盤高度的圖標進入。
3、設置大小。向上拖動設置鍵盤的大小。
4、點擊完成。選擇下方的完成選項即可。
在設置界面,點擊【輔助功能】,開啟【縮放】。點擊【縮放區(qū)域】,在縮放區(qū)域界面,選擇【窗口縮放】,最后將縮放窗口移動至鍵盤位置即可,詳細步驟:
工具/原料:
iPhone11
iOS13.4.1
1、首先,打開手機里的【設置】。
2、在設置界面,點擊【輔助功能】。
3、在輔助功能界面,點擊【縮放】。
4、在縮放界面,點擊【縮放區(qū)域】。
5、在縮放區(qū)域界面,選擇【窗口縮放】。
6、然后返回至上一層界面,在下方設置縮放比例,然后開啟【縮放】,此時就會有一個縮放窗口出現(xiàn)。
7、最后將縮放窗口移動至鍵盤位置即可。
當前標題:ios開發(fā)鍵盤的高度,ios輸入法如何調整鍵盤高度
本文來源:http://chinadenli.net/article41/dsisjhd.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、定制網(wǎng)站、外貿網(wǎng)站建設、全網(wǎng)營銷推廣、面包屑導航、微信小程序
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)