2010-05-29 82 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