最初の行をxポイントだけインデントした複数行のラベルが必要です。なぜUILabelの最初の行のインデントがカスタムフォントでうまくいかないのですか?
私はNSAttributedString
とそのプロパティfirstLineHeadIndent
を使用しました。
テキストが1行以上の長さにすぎない場合を除いて、ほとんどの場合、これは機能します。その場合、インデントを無視することがわかりました。そして、ラベルの後ろには、インデントされた正確な量のためにラベルの縁があります。
let text = "Hello World! Hello World! Hee"
let attString = NSMutableAttributedString(string: text)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.firstLineHeadIndent = 40
attString.addAttribute(NSParagraphStyleAttributeName, value:paragraphStyle, range:NSMakeRange(0, attString.length))
attString.addAttribute(NSFontAttributeName, value: label.font, range: NSMakeRange(0, attString.length))
label.attributedText = attString
私はシステムフォントを使用している場合、それはすべての良い動作することに注意してください。カスタムフォントの場合のみです。この場合、Rubikというフォントを使用します。このフォントでどのように動作させるか考えていますか?
try label.textAlignment = .center – Joe
何も変更されませんでした。 –
'paragraphStyle.headIndent'を使用したくない場合は、label.lineaBreakMode = .ByTruncatingTailまたはByWordWrappingまたは他のモード – Joe