仿微信聊天界面小项目总结

      从开始学习ios时,做这个小项目就卡了很久,到现在这个小项目算是我做的比较熟练的一个了。oc和swift两个版本都顺利完成了。因此总结一下曾经在这个小项目中遇到的种种问题!

      微信聊天界面主要内容有三部分构成:

      1.TableView部分,设置好各种必须的代理;

      2.TableViewCell部分,在自定义cell中要设置好三个控件的位置,这也是整个过程中最麻烦的部分;

      3.设置TextField部分发送消息时,界面消息的刷新和TextField代理的设置。

      第一部分:

      主要设置TableView的必备代理;

      cell的高度,section的数量,rownumber的数量,cell这几个简单的设置。需要注意的是:在设置单元格高度的时候需要计算出每次聊天内容的长度,通过聊天内容的高度来动态计算cell的高度。

      第二部分:

      在聊天过程中,由于两个人的头像和对话框在界面的两边,因此需要判断朋友和自己的不同位置。

      在cell中主要设置三个控件的位置-->[头像(UIImageView),聊天气泡(UIImageView),聊天文字(UILabel)],通过动态计算各自控件的frame。

      头像的大小固定设置,注意:聊天内容和气泡的大小,主要通过计算输入文字的长度,这个size的大小通过这个方法:

      其次需要注意的是:气泡图片的如果按照原图设计会失真,因此通过extention为UIImage添加一个新方法:

      第三部分:

      自己消息的发送通过textfield的代理来推送实现,在nsmutablearray中添加新数据,并更新tableview数据。

      由于每次编辑聊天内容时都会弹出键盘,遮住textfield,我们通过一个动画效果来实现键盘和textfield一起移动

      键盘向上和向下滑动的时间和高度,我们通过设置一个广播监听来得到它的值。

 

      以上各点就是我在做这个小项目的过程中遇到的一些小问题。

          

 

仿微信聊天界面小项目总结

上一篇:APP测试学习:耗电量测试


下一篇:Android如何使用注解进行代码检查