2010-05-29 4 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 вашего теневого смещения.

Как заявил инженер-программист Apple в редакции devforums, это не ошибка, это изменение API.

+0

Я не понимаю, почему они изменили это. У них должны быть свои причины ... Спасибо за информацию. – Axel

 Смежные вопросы

  • Нет связанных вопросов^_^