1

我想让 UIImageView 中的图像比最初为我设置的图像略小。

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

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

2 回答 2

1

假设您从情节提要的出口是

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

在你的编码中使用它来制作你的 UIImageView 的“填充”,这应该会给你图像尺寸小于你的框架的结果。

imageView.bounds = CGRectInset(imageView.frame, 10.0f, 10.0f);
于 2015-07-03T06:31:56.210 回答
0

您可以创建实用程序方法:

- (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;
}

并实施它:

UIImage *myIcon = [self imageWithImage:myImage scaledToSize:CGSizeMake(20, 20)]

希望这会有所帮助。

于 2015-07-03T04:06:11.820 回答