微信朋友圈評論功能的細節考慮及實現

1. 微信朋友圈

微信朋友圈的佈局很容易,網上相似的代碼也不少,可是評論功能有些細節的地方要考慮,主要是爲了用戶體驗。git

相似鍵盤不要遮擋評論框,評論框隨着內容的增多變長這些網上的處理方法不少,這裏就不列出來了。github

微信朋友圈只要按了評論,對話框升起來正好是落在了這條狀態的正下方,這個小細節有着很是好的用戶體驗,這種實現方式有不少,下面來講說我實現的方法。微信

2. 評論細節的實現

個人方法是,按下評論按鈕的時候先把按鈕所在的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;
        }];

3. 朋友圈實現截圖

朋友圈的功能基本上都實現了,很多細節也都考慮了,你們感興趣的話能夠下載下來看看,歡迎指正交流animation

github地址:https://github.com/stevenxiaoyang/familyGroupit

相關文章
相關標籤/搜索