如何自我调整大小UICollectionViewCell

Afo*_*nso 17 ios uicollectionview uicollectionviewcell swift ios9

我的目标是让Swift实现具有动态内容的UICollectionView,其中每个单元格都包含句子的一部分.句子的每个部分都可以由用户编辑.问题是句子的某些部分可能比容器本身长.使用sizeToFit不是一种替代方法,因为所有内容都应具有相同的字体大小,以保持整个集合视图的可读性.

现在我得到的行为,当我的句子的一部分长于容器时,如下: 如您所见,第三行具有前导省略号

如您所见,第三行具有前导省略号.

我想要实现的是以下内容,单元格的溢出部分应该像HTML中的span标记一样包装,如下所示: 第三行包装

这可能吗?我怎么能做到这样的事情?

Epa*_*aga 1

据我所知,这是可能的,但很复杂 - 以下是我认为您需要的一些提示:

  • 2 个额外的集合视图单元格类型:在第一个中,只有左边缘是圆角的,在第二个中,只有右边缘是圆角的
  • 使用 Core Text API 来测量文本需要换行的位置
  • 在数据源中,您必须在创建单元格之前识别情况,然后使用您拥有的新类型创建两个单元格,而不是创建单个单元格。