为了更好的活着

实现等宽字体功能

2018-04-16  本文已影响1107人  o_O小薯条

您是否遇到过客户的硬性需求,iOS中数字1的字体是最瘦的,4的字体是最胖的,系统字体本就如此,但是客户不习惯,于是产生了一个等宽字体的硬性需求,再修改字体的情况下仍然无法解决这个问题,懂得分享的人才是winner。

代码如下:

//给UILabel设置行间距和字间距

-(void)setLabelSpace:(UILabel*)label withValue:(NSString*)str withFont:(UIFont*)font {

    if (!label || !str || !font) {

        return;

    }

    NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];

    paraStyle.lineBreakMode = NSLineBreakByCharWrapping;

    paraStyle.alignment = NSTextAlignmentLeft;

    paraStyle.lineSpacing = 6; //设置行间距

    paraStyle.hyphenationFactor = 1.0;

    paraStyle.firstLineHeadIndent = 0.0;

    paraStyle.paragraphSpacingBefore = 0.0;

    paraStyle.headIndent = 0;

    paraStyle.tailIndent = 0;

    //设置字间距 NSKernAttributeName:@1.5f

    NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@1.5f};

    NSAttributedString *attributeStr = [[NSAttributedString alloc] initWithString:str attributes:dic];

    label.attributedText = attributeStr;

}

希望能给iOS开发者们带来帮助。

上一篇 下一篇

猜你喜欢

热点阅读