Координата падающей тени отличается от iPhone OS 3.2? - PullRequest
2 голосов
/ 29 мая 2010

Я пытаюсь нарисовать пользовательский вид с тенью. У меня отличные результаты от 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. Я что-то упустил?

1 Ответ

1 голос
/ 06 июля 2010

Это было изменено в iPhoneOS 3.2, но не было в примечаниях к выпуску. Вы должны проверить версию ОС и повернуть по оси Y вашего смещения тени.

Как сказал инженер Apple в devforums , это не ошибка, это изменение в API.

...