molon / MLLabel

UILabel replacement with TextKit. Support link and expression.
MIT License
723 stars 115 forks source link

attributedText的NSParagraphStyleAttributeName会被覆盖掉 #7

Closed sablib closed 9 years ago

sablib commented 9 years ago

[MLLabel attributesFromLabelProperties]这个方法里面,NSParagraphStyleAttributeName被覆盖掉了,所以如果自己设置了lineSpacing就无效了。

molon commented 9 years ago

@sablib 并不是这个方法影响的,这个方法是在属性字符串整理最初设置的。 是下面这个方法影响的,Label本身提供了行间距的属性设置,但是这个引起了NSParagraphStyleAttributeName的lineSpacing不可用的确是有问题。

- (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect
{
    return (fmax(_lineHeightMultiple, 1) - 1) * rect.size.height;
}

我需要抽空研究下可否共存。 多谢提出此问题。

sablib commented 9 years ago

@molon 哦,我是通过NSParagraphStyleAttributeName来设置lineSpacing的。所以上面说是NSParagraphStyleAttributeName被覆盖掉了,然后我在里面设置的lineSpacing也没有了。

molon commented 9 years ago

@sablib fixed it. https://github.com/molon/MLLabel/commit/5d819be5bea215f295946ac6a8a43cf29870cb85