如何用coreText控制字符串粗体?

时间:2012-04-27 06:18:52

标签: ipad core-text nsattributedstring

CGFloat widthValue = -1.0;

CFNumberRef strokeWidth = CFNumberCreate(NULL,kCFNumberFloatType,&widthValue);

//Setup the attributes dictionary with font and color
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
                            (id)font, (id)kCTFontAttributeName,
                            _fontColor.CGColor, kCTForegroundColorAttributeName,
                            strokeWidth,kCTStrokeWidthAttributeName,
                            nil];

我使用上面的代码设置了kCTStrokeWidthAttributeName,但它仍然是粗体。

我不希望字符串变为粗体。

我如何控制它????

2 个答案:

答案 0 :(得分:0)

结帐kCTFontWeightTraitkCTFontBoldTrait

答案 1 :(得分:0)

尝试将widthValue更改为:

CGFloat widthValue = 0.f;

删除粗体文字。

来自Apple的文档:

  

kCTStrokeWidthAttributeName       笔画宽度。值必须是CFNumberRef对象。默认值为0.0,或无笔划。此属性,解释为   字体磅值的百分比,控制文本绘制模式:   正值仅用笔划绘制;负值是   用于中风和填充。概述文本的典型值为3.0。