您好,登錄后才能下訂單哦!
項(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];
}
附上截圖
軟件 《測測》
免責(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)容。