OGeek|极客世界-中国程序员成长平台

标题: ios - 如何调整 C4Label 的字距? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:58
标题: ios - 如何调整 C4Label 的字距?

似乎没有更改字距的属性。从 C4Label 获取 UILabel 然后从那里去的最好方法是什么?



Best Answer-推荐答案


很遗憾,是的。

C4Label最初是在iOS5出来的时候设计的,在iOS6发布时不需要做任何修改……在iOS6之前,UILabel不支持属性字符串的使用。由于 C4Label 本质上包装了 UILabel 的一个实例,因此它也没有(并且仍然没有)直接访问属性字符串的使用。

但是,给定 C4Label 包装 UILabel 可以通过以下方式添加字距调整:

-(void)setup {
    //Create a label
    C4Label *l = [C4Label labelWithText"this is kerning"];
    l.numberOfLines = 2;

    //Create a key
    NSString *kernKey = (NSString *)kCTKernAttributeName;
    //Create a value
    NSNumber *kernValue = @20;
    //Create an attributed string
    NSMutableAttributedString *attStr = [NSMutableAttributedString new];
    //set the attributed string with the text, using the value as a dictionary
    attStr = [attStr initWithString:l.text attributes{kernKey:kernValue}];

    //set and center the text
    l.label.attributedText = attStr;
    l.textAlignment = ALIGNTEXTCENTER;

    //resize and position the frame
    l.frame = CGRectMake(0,0,320, 80);
    l.center = self.canvas.center;

    [self.canvas addLabel:l];
}

C4Label 已在现代化列表中,但尚未实现。

关于ios - 如何调整 C4Label 的字距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041435/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4