BonMot icon indicating copy to clipboard operation
BonMot copied to clipboard

showing incorrectly when use `lineSpacing`

Open mlight3 opened this issue 6 years ago • 0 comments

class V3: UIViewController {
    let labelWithBonMot = UILabel()
    let label = UILabel()
    override func viewDidLoad() {
        super.viewDidLoad()
        
        labelWithBonMot.numberOfLines = 2
        label.numberOfLines = 2
        
        view.addSubview(labelWithBonMot)
        view.addSubview(label)
        
        labelWithBonMot.snp.makeConstraints {
            $0.top.equalToSuperview().offset(30)
            $0.left.right.equalToSuperview()
        }
        
        label.snp.makeConstraints {
            $0.left.right.equalToSuperview()
            $0.top.equalTo(labelWithBonMot.snp.bottom).offset(30)
        }
        

        ///////////////////////////////////

        let text = "聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖\n聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖聖"
        let contentStyle = StringStyle([.font(UIFont(name: "HiraginoSans-W3", size: 13)!),
                                        .tracking(.point(-0.3)),
                                        .lineSpacing(7),
                                        .lineBreakMode(.byTruncatingTail)])
        
        labelWithBonMot.attributedText = text.styled(with: contentStyle)
        
        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.lineBreakMode = .byTruncatingTail
        paragraphStyle.lineSpacing = 7
        let attributes: [NSAttributedString.Key: Any] = [
            .font: Fonts.HiraginoSans.w3.size(13),
            .kern: -0.3,
            .paragraphStyle: paragraphStyle
        ]
        
        label.attributedText = NSAttributedString(string: text, attributes: attributes)
    }
}

Here is my code. It shows like this. simulator screen shot - iphone 8 - 2018-11-19 at 12 56 55

labelWithBonMot is not showing correct lineSpacing.

Here is a attributes what I've got in console

====  contentStyle.attributes  ====
[__C.NSAttributedStringKey(_rawValue: NSParagraphStyle): Alignment 4, LineSpacing 7, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 4, Tabs (
    28L,
    56L,
    84L,
    112L,
    140L,
    168L,
    196L,
    224L,
    252L,
    280L,
    308L,
    336L
), DefaultTabInterval 0, Blocks (
), Lists (
), BaseWritingDirection -1, HyphenationFactor 0, TighteningForTruncation NO, HeaderLevel 0, __C.NSAttributedStringKey(_rawValue: BonMotTransformations): [[:]], __C.NSAttributedStringKey(_rawValue: NSKern): -0.3, __C.NSAttributedStringKey(_rawValue: NSFont): <UICTFont: 0x7fa752d0c2e0> font-family: "HiraginoSans-W3"; font-weight: normal; font-style: normal; font-size: 13.00pt]




====  native attributes  ====
[__C.NSAttributedStringKey(_rawValue: NSFont): <UICTFont: 0x7fa752d0c2e0> font-family: "HiraginoSans-W3"; font-weight: normal; font-style: normal; font-size: 13.00pt, __C.NSAttributedStringKey(_rawValue: NSKern): -0.3, __C.NSAttributedStringKey(_rawValue: NSParagraphStyle): Alignment 4, LineSpacing 7, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 4, Tabs (
    28L,
    56L,
    84L,
    112L,
    140L,
    168L,
    196L,
    224L,
    252L,
    280L,
    308L,
    336L
), DefaultTabInterval 0, Blocks (
), Lists (
), BaseWritingDirection -1, HyphenationFactor 0, TighteningForTruncation NO, HeaderLevel 0]

mlight3 avatar Nov 19 '18 04:11 mlight3