项目集成了IM,也大部分使用了其的UI. UI框架有一个问题,即收到IM图片的时候,某些图片会先放大,然后再缩小回去。这个问题,百思不得其解。起初是怀疑Cell复用问题,但经测试发现,1个cell时也存在该问题。既然不是复用,那就一定是布局问题了。但布局的代码怎么看都没有问题。因为聊天的cell都用的是autolayout. 且在layoutsubviews 里 又重新更新了布局。最后在图片限定处打断点,发现会多次更新图片的布局,但这没关系,问题是它的宽度有时候会取不到。如下图
问题就出在retSize 这个retSize 有时候会是0,当是0 的时候,宽度默认为最大值,然后当retSize更新到值的时候,宽度就正常了。这就会造成这种 先放大后正常的感觉。