NSMutableAttributedStringを使用し、UILabelで複数行表示させると、…(三点リーダ)が表示されない
TableViewCell上にUILabelを設置し、
Lineを3行固定とし、
LineBreakModeをTrancateTailで設定して、
JSONで可変長の文字を表示させようとしています。
ですが、4行以上になる場合、省略文字の三点リーダ(…)が表示されてくれません。
以下のように、行間を指定したい意図がありまして、このようにしているのですが、
どうにもできません。
ラベルの上に三点リーダのみ自分で付け加える方法も検討したのですが、
綺麗に3行目の文字が切れる前の最終文字の座標も取れないと思っており、、、
お知恵をお貸し頂けないでしょうか。。。
宜しくお願いします。
// カスタムLineHeightを指定
CGFloat customLineHeight = 19.0f;
// パラグラフスタイルにlineHeightをセット
NSMutableParagraphStyle *paragrahStyle = [NSMutableParagraphStyle new];
paragrahStyle.minimumLineHeight = customLineHeight;
paragrahStyle.maximumLineHeight = customLineHeight;
// NSAttributedStringを生成してパラグラフスタイルをセット
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:printLabel];
[attributedText addAttribute:NSParagraphStyleAttributeName
value:paragrahStyle
range:NSMakeRange(0, attributedText.length)];
self.printLabel.attributedText = attributedText;