TwitterのiOSアプリの登場をモデルにした単純なIRCクライアントを作成しています。参考までに、Twitterアプリのスクリーンショットを撮りました。
これは、各セル内にいくつかのラベルが付いた単純なテーブルビューのように見えます。そのため、私のアプリでは、プログラムでテーブルとセルの書式を作成しています。カスタムセルには2つのラベルしかなく、上下に配置しています。トップラベルはシンプルな1ライナーです。一番下のラベルには、より長いメッセージを含めたいので、指定した幅内にとどまりながら、複数行にワードラップする必要があります。
どうすればこれを達成できますか?
これまで、ラベルのフレームを希望のサイズに明示的に設定しようとしましたが、これがすべての場合、ワードラップは行われません。セルから水平に流れ出るだけです。sizeToFit
次に、関数内でこのラベルを呼び出してみtableView:cellForRowAtIndexPath:
ましたが、非常に狭い幅でワードラップしているように見えます。テキストは2〜3文字のように折り返され、セルから垂直に流れ出します。
ラベル内のテキストを指定された幅の後に折り返す方法がわからないようです。何か案は?
私のカスタムセルクラス:https ://github.com/ryancole/pound-client/blob/master/pound-client/views/MessageListCell.m
cellForRowAtIndexPath
関数:https: //github.com/ryancole/pound-client/blob/master/pound-client/controllers/MessageListViewController.m#L62-L84
編集1:
無制限に0に設定したときに何が起こったかを示すnumberOfLines
ために、呼び出されているスクリーンショットを添付しました。UILabelのフレームの指定された幅を最初に使用するのではなく、数文字後に折り返します。これは、と呼ばれる前に設定されていsizeToFit
ます。