нарисуйте CALayer в CGContext

У меня есть следующий код:

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSaveGState(context);

CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor orangeColor].CGColor;
sublayer.cornerRadius = 20.0;
sublayer.frame = CGRectMake(20, 0, 300, 20);

[sublayer setNeedsDisplay];
[sublayer drawInContext:context];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage;

Но когда я просматриваю возвращаемое newImage, то получается просто пустое изображение. Когда я меняю drawInContext на renderInContext, то получаю вышеприведенный подуровень, но кажется, что система координат запуталась.

Есть идеи, почему drawInContext на вышеприведенном не сработал?

7
задан lucas 26 May 2011 в 04:00
поделиться