CGContextSetShadowWithColor: тень переворачивается в UIView - PullRequest
2 голосов
/ 28 декабря 2010

Я разрабатываю приложение для iPhone, в котором я хочу установить тень для пути, который я рисую в контексте UIView.

Ниже приведен фрагмент кода:

CGSize shadowSize = CGSizeMake(-4, -4);
CGContextSetShadowWithColor(drawContext, shadowSize, blurRadius,
shadowColor.CGColor);            
//Stroke the bezier path

Поскольку ярисую UIImage в том же контексте UIView, мне нужно перевернуть контекст.Все рисунки в порядке, за исключением того, что тень показана внизу и справа (мои ожидания были сверху и справа).

Когда я попробовал этот рисунок в контексте, который я создал (не в контексте UIView иследовательно, не перевернуто), тень появилась правильно.

В чем здесь проблема?Как мне это решить?

1 Ответ

0 голосов
/ 20 августа 2011

Из документов Apple ( Руководство по рисованию и печати для iOS ):

"Переключение CTM для выравнивания объекта с системой координат UIKit по умолчанию не влияет на тень объекта, и поэтому тень неправильно отслеживает его объект. Чтобы правильно отслеживать его, необходимо соответствующим образом изменить значения смещения для текущей системы координат. "

...