2

ドロップ シャドウを使用してカスタム ビューを描画しようとしています。iPhone OS 3.2 とは結果が異なります。CGContextSetShadowWithColor の座標系は 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));

3.1 と 3.2 からの外観は次のとおりです。

ドロップ シャドウを使用したすべてのビューは、iPhone OS のバージョンによって異なって見えます。何か不足していますか?

4

1 に答える 1

1

This was changed in iPhoneOS 3.2, but it wasn't in the release notes. You have to check the OS Version and reverse the y-Axis of your shadow offset.

As an Apple-engineer stated in the devforums, this is not a bug, it's a change in API.

于 2010-07-06T08:21:31.753 に答える