我想让UIImageView中的图像比最初为我设置的图像稍小。
我已经将contentMode发送到UIViewContentModeScaleAspectFill,但我仍然想让它稍微小一点。
self.imgCamera.layer.cornerRadius = self.imgCamera.frame.size.width / 2;
self.imgCamera.contentMode=UIViewContentModeScaleAspectFill;
self.imgCamera.clipsToBounds = YES;
假设你的故事板出口是
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
在你的编码中,使用这个来制作UIImageView的"填充",这应该会让你的图像大小小于你的帧。
imageView.bounds = CGRectInset(imageView.frame, 10.0f, 10.0f);
您可以创建实用程序方法:
- (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)]
希望这能有所帮助。