읽음 여부와 보낸 시각 Label의 크기를 구하고 그 너비에 맞게 Label의 너비를 명시했다. 그래서 레이아웃을 정하는 과정에서 imageView들의 너비를 확정할 수 있었다.
셀이 재사용될 때 layoutSubviews() 함수가 동작한다는 것을 알았고, 이 때 이미 정해진 너비를 이용해 높이를 명시할 수 있었다. 그래서 이미지가 비동기적으로 불러와질 때, 셀이 재사용될 때 imageView들의 크기가 변하는 것을 막을 수 있었다.
이미지 메세지를 보낼 때, 읽음 여부와 보낸 시각 Label을 제외한 최대 너비를 가지면서도 각 이미지들의 크기가 동일한 정사각형의 ImageView가 포함된 TableViewCell을 만들어야 한다.
ImageView에 이미지를 Firebase에서 비동기적으로 불러와서 표기해야 한다.