3
J'essaie d'ajouter une ombre portée à une vue UIImage. Je reçois une ombre mais elle est coupée sur les bords de la vue de l'image et je ne sais pas pourquoi puisque j'ai correctement défini le uiimageview.clipsToBounds à NO. Voici le code:J'essaie d'ajouter une ombre portée à un UImageView
-(void)addShadow
{
UIGraphicsBeginImageContext(self.frame.size);
CGContextRef myContext = UIGraphicsGetCurrentContext();
float myColorValues[] = {0, 0, 0, darkness};// 3
CGColorRef myColor;// 4
CGColorSpaceRef myColorSpace;
CGContextSaveGState(myContext);// 6
myColorSpace = CGColorSpaceCreateDeviceRGB();// 9
myColor = CGColorCreate (myColorSpace, myColorValues);// 10
CGContextSetShadowWithColor (myContext, myShadowOffset, spread, myColor);// 11
// Your drawing code here// 12
// CGContextDrawImage(myContext, rotatingView.frame,imgRef);
rotatingView.clipsToBounds = NO;
[rotatingView.image drawInRect:rotatingView.frame
blendMode:kCGBlendModeNormal alpha:.5];
CGColorRelease (myColor);// 13
CGColorSpaceRelease (myColorSpace); // 14
UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
CGContextRestoreGState(myContext);
UIGraphicsEndImageContext();
rotatingView.image = imageCopy;
}
J'ai essayé d'ajouter ce code, mais je me retrouve avec des ombres écrêtées. – April
Est-ce que je fais autre chose de mal en ajoutant le code comme ci-dessus? ou la couche est-elle supposée être l'ombre? – April
Le calque est censé être l'ombre. Vous avez défini clipsToBounds sur NO encore? –