UILabel でこのように表示する必要がある "WAKEFIELD - TRINITYIGINY - (3.15 マイル)" という文字列があります。これは、char が途中から消費されることを意味します。
動的である必要があり、UITableViewCell に表示する必要があることに注意してください。文字列の長さは固定されていません。その唯一の文字列であることは明らかです。前もって感謝します
UILabel でこのように表示する必要がある "WAKEFIELD - TRINITYIGINY - (3.15 マイル)" という文字列があります。これは、char が途中から消費されることを意味します。
動的である必要があり、UITableViewCell に表示する必要があることに注意してください。文字列の長さは固定されていません。その唯一の文字列であることは明らかです。前もって感謝します
UILabelには切り捨て用のプロパティがあります(lineBreakMode) http://developer.apple.com/library/ios/#documentation/uikit/reference/UILabel_Class/Reference/UILabel.html
これに設定するとNSLineBreakByTruncatingMiddle
、途中で切り捨てられます。
を使用して元の文字列からコンポーネント[myString componentsSeparatedByString:@" - "]
を取得すると、配列が得られます。次に、セル内に異なるフォントで 3 つの UILabel を作成lineBreakMode
し、2 番目に設定します。この 3 つのラベルを cellWidth で作成する場合は、おそらく cellWidth を作成し、最初のラベルをセルの左側に、3 番目のラベルを右側に配置すると、おそらく中央にいくつかの場所が残ります。これは、2 番目のラベルの場所です。最初と 3 番目のラベルのサイズを計算できます。
CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:maxPossibleSizeOfTheLabel];
lineBreakMode
UILabelのプロパティを使用します。
UILabel *label = ...
label.lineBreakMode = NSLineBreakByTruncatingMiddle;