項(xiàng)目里有對(duì)話窗口的頁面 當(dāng)時(shí)著急寫程序 只是簡單的監(jiān)聽了鍵盤位置的變化 inputBar的動(dòng)畫一直和鍵盤的動(dòng)畫不是很協(xié)調(diào)
為耒陽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及耒陽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、耒陽網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
最近看著很是難受 發(fā)現(xiàn)微信這點(diǎn)做的很好 然后仔細(xì)研究了鍵盤willChange的通知內(nèi)容 發(fā)現(xiàn)兩個(gè)參數(shù)沒有使用 不過這兩個(gè)參數(shù)貌似只適用下面用的這種動(dòng)畫方式 之前我一直用帶有回掉的動(dòng)畫 結(jié)果設(shè)置之后還是不同步最后發(fā)現(xiàn)這個(gè)方式能夠?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:[durationdoubleValue]];
[UIViewsetAnimationCurve:[curveintValue]];
//更改聊天窗口table的inset 位置 inputbar位置
[UIViewcommitAnimations];
}
附上截圖
軟件 《測測》