2010-05-29 83 views
2

我试图用投影绘制自定义视图。我从iPhone OS 3.2获得不同的结果。 CGContextSetShadowWithColor的坐标系是否从3.2更改过?投影坐标不同于iPhone OS 3.2?

这里是我使用的代码:

CGContextRef graphicContext = UIGraphicsGetCurrentContext(); 

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); 
CGFloat values1[4] = { 0, 0, 0, 1}; 
CGColorRef blackColor = CGColorCreate (colorspace, values1); 
CGContextSetShadowWithColor(graphicContext, CGSizeMake(0, -1), 3, blackColor); 
CGColorRelease(blackColor); 

CGFloat values2[4] = { .5, .5, 1, 1}; 
CGColorRef fillColor = CGColorCreate (colorspace, values2); 
CGContextSetFillColorWithColor(graphicContext, fillColor); 
CGColorRelease(fillColor); 
CGContextFillRect(graphicContext,CGRectMake(40, 40, 100, 100)); 

这里是如何looks on 3.1 and from 3.2

根据iPhone OS的版本,我所有使用投影的视图都会有所不同。我错过了什么吗?

回答

1

这在iPhoneOS 3.2中进行了更改,但不在发行说明中。您必须检查操作系统版本并反转阴影偏移的Y轴。

作为一位苹果工程师在devforums中说过,这不是一个bug,它是API的变化。

+0

我不明白他们为什么改变这一点。他们必须有他们的理由...感谢您的信息。 – Axel 2010-07-11 09:11:44