使用drawInRect withAttributes时失去颜色[UIColor blackColor]

时间:2017-05-22 19:54:04

标签: objective-c ios7 xcode8

我已经取代了drawInRect:withFont的弃用用法,但副作用是我无法再看到我应用中颜色条中的某些颜色。绿色被替换为黑色(除了条形图中的第一个框,因为yearText还没有被绘制),黄色和红色被白色替换。

这是我用来为条形框添加颜色的代码:

CGFloat *yearColor = (CGFloat[]){0.5, 0.5, 0.5, 1.0};
CGContextSetFillColor(ctx, yearColor);

CGRect yearRect = CGRectMake(xOffset+1,
                             yOffset+kScoreBoxHeight-2,
                             kScoreBoxWidth+50,
                             kScoreBoxHeight);

以下代码我用

替换弃用的drawInRect
[theYear   drawInRect:yearRect 
       withAttributes:@{
         NSFontAttributeName: 
           [UIFont   fontWithName:@"PFTempestaFiveCompressed" size:8.0],   
         NSForegroundColorAttributeName: [UIColor darkGrayColor ]
       }];

enter image description here

这是使用withFont的原始drawInRect方法。我没有指定任何字体颜色,依赖于默认的黑色。

[theYear drawInRect:yearRect withFont:[UIFont 
                             fontWithName:@"PFTempestaFiveCompressed" size:8.0]];

enter image description here

问题似乎发生在深色(黑色,灰色)。这是一个适用于棕色的例子。

[theYear drawInRect:yearRect
             withAttributes:@{NSFontAttributeName: yearFont,
                              NSForegroundColorAttributeName: [UIColor brownColor]}];

enter image description here

0 个答案:

没有答案