Criar UIImage da vista sombreada, mantendo o alfa?

Eu tenho um problema um tanto incomum. No meu aplicativo, estou sombreando umUIImageView usando sombreamento básico da camada Quartz2d. Aqui está o meu código:

imageView.layer.shadowOpacity = 1.0; // Pretty self explanatory
imageView.layer.shadowRadius = 8.0; // My softness
imageView.layer.shadowColor = [UIColor blackColor].CGColor; // Color of the shadow
imageView.layer.shadowOffset = CGSizeMake(0.0, 0.0); // Offset of the shadow

Isso produz um belo desfoque por trás da visualização da imagem. No entanto, estou fazendo alguma animação com essa visualização, e o recálculo constante do sombreamento durante as transições causa uma transição muito instável. O que eu gostaria de fazer é criar um arquivo UIImage ou .png a partir da visualização da imagem com o desfoque e seu alfa intacto. Aqui está o que eu já tentei:

UIGraphicsBeginImageContext(CGSizeMake(320, 396)); 
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

Como tenho uma sombra que "cresce do lado de fora" da visualização da imagem, não posso simplesmente passar o tamanho dele noUIGraphicsBeginImageContext função. Defino o tamanho correto, mas a imagem resultante não salva meu alfa; em vez disso, coloca um plano de fundo branco atrás da sombra, o que não funcionará para mim porque meu plano de fundo real é uma textura de madeira. Além disso, a exibição não está centralizada no arquivo resultante.

Eu sou muito bom comUIKit, mas eu sou um verdadeiro noobie comQuartz Gráficos 2D, portanto, se houver uma resposta óbvia para isso, envie-a assim mesmo. :)

questionAnswers(3)

yourAnswerToTheQuestion