2014-03-19 2 views
0

셀에 이미지를 추가하려고하는데 작동하지만 크기 조정이 실제로 작동하지 않고 이미지 크기가 일정 해지고 크기가 그대로 유지됩니다. 숫자를 축척 기능에 입력합니다. 일을 변경하지 않는셀의 이미지 크기 조정

NSURL *url = [NSURL URLWithString:icon]; 
     NSData *data = [NSData dataWithContentsOfURL:url]; 
     UIImage *logo=[UIImage imageWithData:data scale:4]; 
     cell.imageView.layer.masksToBounds = YES; 
     cell.imageView.layer.cornerRadius = 10.0; 
     cell.imageView.image=logo; 

답변

0

이 방법을 구현하고 사용 (이미지가 어떤 일정한 크기로 자동 스케일입니다).

/*! Returns a UIImage which is resized image of the image provided. 
    @param image 
     The image to be resized. 
    @param size 
     The size of the image to be resized. 
*/ 
+ (UIImage*)resizeImage:(UIImage *)image imageSize:(CGSize)size { 
    CGFloat imageWidth = image.size.width; 
    CGFloat imageHeight = image.size.height; 
    CGFloat requiredWidth = (imageWidth * size.height)/imageHeight; 

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(requiredWidth, size.height), NO, [UIScreen mainScreen].scale); 
    [image drawInRect:CGRectMake(0, 0, requiredWidth, size.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    //here is the scaled image which has been changed to the size specified 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 
0

그냥 선언 된 사용자 정의 셀 클래스 메소드 내부 사용자의 마스킹 기능을 쓰기 아래.

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    [super setSelected:selected animated:animated]; 

    // Configure the view for the selected state 

    [self.imageView.layer setCornerRadius:10.0]; 
    self.imageView.layer.masksToBounds = YES; 
} 
0

이 기능을 사용하여 요구 사항에 따라 이미지의 크기를 조정하십시오.

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { 
    //UIGraphicsBeginImageContext(newSize); 
    float theScaleFactor = 0.0f; 
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 
     if ([[UIScreen mainScreen] scale] == 2.0) { 
      theScaleFactor = 2.0f; 
     } else { 
      theScaleFactor = 0.0f; 
     } 
    } else { 
     theScaleFactor = 0.0f; 
    } 

    UIGraphicsBeginImageContextWithOptions(newSize, NO, theScaleFactor); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 

희망이 도움이 될 것입니다.