2016-03-16 5 views
17

私の目標は、各セルが文の一部を保持する動的コンテンツを持つUICollectionViewのSwift実装を持つことです。文章の各部分は、ユーザが編集することができる。問題は、文の一部がコンテナ自体より長くなることがあるということです。 sizeToFitを使用することは、コレクションビュー全体で可読性を維持するために、すべてのコンテンツが同じフォントサイズを持つ必要があるため、代替ではありません。セルフサイジングをラップする方法UICollectionViewCell

今私が長いコンテナ以外の文章の一部を持っているとき、私は、取得する動作は以下の通りです: As you can see the third row has leading ellipsis

あなたは三行は省略記号をリードしている見ることができるように。私が達成したい何

は、セルのあふれ部分がそうのように、HTMLにspanタグに類似したとしてラップする必要があります以下の通りです: The third row wraps

が、このことは可能ですか?どのように私はそのようなことを達成することができますか?

答えて

1

私の知る限り、それは可能ですが、複雑だ - ここに私はあなたが必要になるだろうと言うだろうもののいくつかのポインタです:

  • 2追加のコレクションビューの細胞型は:最初に左端のみが丸められ、2番目は右端に丸められます
  • Core Text APIを使用してテキストを折り返す必要がある場所を測定します。
  • データソースでは、状況を認識する必要がありますセルを作成してから、単一のセルを作成する代わりに、新しいタイプを使用して2つのセルを作成します。
+0

同じテキスト部分に2つのセルがある場合、どのようにユーザーエディションを扱うことができますか?ユーザーがその特定のテキスト部分を入力すると、ブロックが拡大/縮小されます。 – Afonso

+0

UICollectionViewを使用する場合は、これが良い考えです。さらにそれを取って、各センテンスをスペースで分割してから、コレクションビューに開始、中間、または終了セルを表示することができます。 –

+0

場所を編集することは問題になる可能性があります。その代わりに文字列と図形をCGContextに描画する方が効果的です。 –

関連する問題