微信朋友圈的佈局很容易,網上相似的代碼也不少,可是評論功能有些細節的地方要考慮,主要是爲了用戶體驗。git
相似鍵盤不要遮擋評論框,評論框隨着內容的增多變長這些網上的處理方法不少,這裏就不列出來了。github
微信朋友圈只要按了評論,對話框升起來正好是落在了這條狀態的正下方,這個小細節有着很是好的用戶體驗,這種實現方式有不少,下面來講說我實現的方法。微信
個人方法是,按下評論按鈕的時候先把按鈕所在的cell的尾部的位置座標y保存下。佈局
self.replyViewDraw = [cell convertRect:cell.bounds toView:self.view.window].origin.y + cell.frame.size.height;
而後在鍵盤升起來的時候,評論框也升起到鍵盤上方,此時鍵盤的位置座標y減去上方保存的位置y,就是tableView須要移動的位置。spa
評論框移動的方法:更改frame.origin.ycode
tableview移動的方法:更改contentOffset.yblog
[UIView animateWithDuration:[dic[UIKeyboardAnimationDurationUserInfoKey] floatValue] animations:^{ [UIView setAnimationCurve:[dic[UIKeyboardAnimationCurveUserInfoKey] doubleValue]]; CGRect frame = self.replyInputView.frame; frame.origin.y = frame.origin.y - keyboardRect.size.height + 52; self.replyInputView.frame = frame; CGPoint point = self.familyTableView.contentOffset; point.y -= (frame.origin.y - self.replyViewDraw); self.familyTableView.contentOffset = point; }];
朋友圈的功能基本上都實現了,很多細節也都考慮了,你們感興趣的話能夠下載下來看看,歡迎指正交流animation
github地址:https://github.com/stevenxiaoyang/familyGroupit