使UIImageView图像略小

时间:2015-07-03 02:38:00

标签: ios objective-c uiimageview setbounds

我想让UIImageView中的图像比原先为我设置的图像略小。

我已将contentMode发送到UIViewContentModeScaleAspectFill,但我仍想让它稍微小些。

self.imgCamera.layer.cornerRadius = self.imgCamera.frame.size.width / 2;
self.imgCamera.contentMode=UIViewContentModeScaleAspectFill;
self.imgCamera.clipsToBounds = YES;

2 个答案:

答案 0 :(得分:1)

让我们说你的故事板出口是

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

在你的编码中使用它来制作你的UIImageView的“填充”,这应该会给你一个小于你的帧的图像大小的结果。

imageView.bounds = CGRectInset(imageView.frame, 10.0f, 10.0f);

答案 1 :(得分:-1)

您可以创建实用工具方法:

Template.Table.events({
  'click .setMetric': function(event, template) {
    event.preventDefault();
    var metric = $(event.target).data('metric');
    if(metric) template.data.metric.set(metric);
  }
});

并实施它:

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    //UIGraphicsBeginImageContext(newSize);
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
    // Pass 1.0 to force exact pixel size.
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return newImage;
}

希望这可以提供帮助。