1

UILabel でこのように表示する必要がある "WAKEFIELD - TRINITYIGINY - (3.15 マイル)" という文字列があります。これは、char が途中から消費されることを意味します。

ここに画像の説明を入力

動的である必要があり、UITableViewCell に表示する必要があることに注意してください。文字列の長さは固定されていません。その唯一の文字列であることは明らかです。前もって感謝します

4

3 に答える 3

4

UILabelには切り捨て用のプロパティがあります(lineBreakMode) http://developer.apple.com/library/ios/#documentation/uikit/reference/UILabel_Class/Reference/UILabel.html

これに設定するとNSLineBreakByTruncatingMiddle、途中で切り捨てられます。

于 2012-11-20T07:57:09.090 に答える
0

を使用して元の文字列からコンポーネント[myString componentsSeparatedByString:@" - "]を取得すると、配列が得られます。次に、セル内に異なるフォントで 3 つの UILabel を作成lineBreakModeし、2 番目に設定します。この 3 つのラベルを cellWidth で作成する場合は、おそらく cellWidth を作成し、最初のラベルをセルの左側に、3 番目のラベルを右側に配置すると、おそらく中央にいくつかの場所が残ります。これは、2 番目のラベルの場所です。最初と 3 番目のラベルのサイズを計算できます。

 CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:maxPossibleSizeOfTheLabel];
于 2012-11-20T07:54:04.737 に答える
0

lineBreakModeUILabelのプロパティを使用します。

UILabel *label = ...
label.lineBreakMode = NSLineBreakByTruncatingMiddle;
于 2015-09-20T21:34:24.990 に答える