溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iOS鍵盤與輸入窗同步動畫 鍵盤彈起動畫 動畫類型 時間

發(fā)布時間:2020-05-31 16:00:01 來源:網(wǎng)絡(luò) 閱讀:2862 作者:王一橫 欄目:移動開發(fā)

項(xiàng)目里有對話窗口的頁面 當(dāng)時著急寫程序 只是簡單的監(jiān)聽了鍵盤位置的變化 inputBar的動畫一直和鍵盤的動畫不是很協(xié)調(diào)

最近看著很是難受 發(fā)現(xiàn)微信這點(diǎn)做的很好 然后仔細(xì)研究了鍵盤willChange的通知內(nèi)容 發(fā)現(xiàn)兩個參數(shù)沒有使用 不過這兩個參數(shù)貌似只適用下面用的這種動畫方式 之前我一直用帶有回掉的動畫 結(jié)果設(shè)置之后還是不同步最后發(fā)現(xiàn)這個方式能夠?qū)崿F(xiàn)完全同步 最終算是完美解決吧 給大家分享一下



-(void)changeKeyBoard:(NSNotification *)aNotifacation

{

NSNumber *duration = [aNotifacation.userInfoobjectForKey:UIKeyboardAnimationDurationUserInfoKey];

NSNumber *curve = [aNotifacation.userInfoobjectForKey:UIKeyboardAnimationCurveUserInfoKey];

NSValue *keyboardBeginBounds=[[aNotifacation userInfo]objectForKey:UIKeyboardFrameBeginUserInfoKey];

CGRect beginRect=[keyboardBeginBounds CGRectValue];


NSValue *keyboardEndBounds=[[aNotifacation userInfo]objectForKey:UIKeyboardFrameEndUserInfoKey];

CGRect endRect=[keyboardEndBounds CGRectValue];

CGFloat deltaY=endRect.origin.y-beginRect.origin.y;


[UIViewbeginAnimations:nilcontext:nil];

[UIViewsetAnimationBeginsFromCurrentState:YES];

[UIViewsetAnimationDuration:[duration doubleValue]];

[UIViewsetAnimationCurve:[curve intValue]];

       //更改聊天窗口table的inset  位置  inputbar位置

[UIViewcommitAnimations];

   

}

附上截圖

iOS鍵盤與輸入窗同步動畫 鍵盤彈起動畫 動畫類型 時間

iOS鍵盤與輸入窗同步動畫 鍵盤彈起動畫 動畫類型 時間

iOS鍵盤與輸入窗同步動畫 鍵盤彈起動畫 動畫類型 時間

軟件 《測測》


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI