2009-12-21 3 views
3

Я пытаюсь добавить тень тени в представление UIImage. Я получаю тень, но она привязана к краям изображения, и я не уверен, почему, поскольку я правильно установил uiimageview.clipsToBounds в НЕТ. Ниже приведен код:Я пытаюсь добавить тень тени в 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; 
} 

ответ

2

Я считаю, что CGContextRef вы прошли также отсечение набор, чтобы предотвратить в основном это точное поведение. Возможно, вы захотите попробовать просто добавить CALayer:

CALayer       *layer = [CALayer layer]; 
CGRect       bounds = self.bounds; 

layer.bounds = bounds; 
layer.position = CGPointMake(bounds.size.width/2 + 5, bounds.size.height/2 + 5); 
layer.backgroundColor = [UIColor colorWithWhite: 0.10 alpha: 0.75].CGColor; 
layer.zPosition = -5; 

[self.layer addSublayer: layer]; 
+0

Я пробовал добавить этот код, но я все еще получаю обрезанные тени. – April

+0

Я делаю что-то еще не так, добавляя код, как указано выше? или это слой, который должен быть тенью? – April

+0

Слой должен быть тень. Вы еще не установили клики для видео? –

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