我有以下代码,使用 UIImagePickerController
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *pickerImg = info[UIImagePickerControllerEditedImage];
if (pickerImg == nil) {
pickerImg = info[UIImagePickerControllerOriginalImage];
}
NSData *imageData = UIImagePNGRepresentation(pickerImg);
UIImage *img = [UIImage imageWithData:imageData];
UIImage *fixedOrientationImage = [UIImage imageWithCGImage:img.CGImage scale:pickerImg.scale orientation:pickerImg.imageOrientation];
pickerImg = fixedOrientationImage;
cropView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
cropView.backgroundColor = [UIColor darkTextColor];
[self.navigationController setNavigationBarHidden:YES animated:YES];
UIImageView * cropImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - 60)];
cropImageView.image = pickerImg;
cropImageView.contentMode = UIViewContentModeScaleAspectFit;
cropImageView.clipsToBounds = YES;
[cropView addSubview:cropImageView];
[self.view addSubview:cropView];
}
我选择了下面的图片
像这样在 cropImageView
上方显示
最佳答案
尝试在设置内容模式后设置图像或框架
UIImageView * cropImageView = [[UIImageView alloc] init];
cropImageView.contentMode = UIViewContentModeScaleAspectFit;
cropImageView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - 60);
cropImageView.image = pickerImg;
cropImageView.clipsToBounds = YES;
关于ios - 缩放 UIImage 以正确适应 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46097417/