2011-10-06 62 views
2

圓角有白色背景。 我跟着其他SO的答案,但不知道爲什麼我得到這個白人UIImageView圓角有白色背景

貝婁是代碼。

UIView* testView = [[[UIView alloc] initWithFrame: self.animationView.bounds] autorelease]; 
UIImageView* testImageView = [[[UIImageView alloc] initWithImage:backImage] autorelease]; 
[testView addSubview: testImageView]; 
testImageView.backgroundColor = [UIColor clearColor]; 

CALayer* layer = [testView layer]; 
bool prev = layer.masksToBounds; 
layer.masksToBounds = YES; 
layer.cornerRadius = 30; 
testView.clipsToBounds = YES; 
UIImage* image = [UIImage captureView: testView]; 
//this image has the white regions in the four corners. 
// when seen on iphone photo album 


+ (UIImage*)captureView:(UIView*)view 
{ 
    CGSize size = view.bounds.size; 
    CGContextRef context = CreateARGBBitmapContext(size); 
    CGContextTranslateCTM(context, 0, size.height); 
    CGContextScaleCTM(context, 1.0, -1.0); 
    [view.layer renderInContext: context]; 
    CGImageRef imageRef = CGBitmapContextCreateImage(context); 
    UIImage* img = [UIImage imageWithCGImage: imageRef]; 
    CGImageRelease(imageRef); 
    CGContextRelease(context); 
    return img; 
} 

回答

0

這可能是你必須設置testImageView.opaque = NO

+0

Dominik:謝謝,但沒有奏效。 – eugene

1

添加[testImageView setClipsToBounds:YES]