objective-c - 如何调整自定义 UIButton 的图像大小?

标签 objective-c ios uibutton uiimage

我有一个 UIButton 需要在用户从相册中选择一张照片以显示其选择后更改其图像,我已启动并运行此设置但是一旦用户选择了一张照片我需要将其调整为按钮尺寸,这就是我需要帮助的地方,这是我的代码:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
UIImage *giftImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[giftImage resizableImageWithCapInsets:UIEdgeInsetsMake( 0, 10, 0, 10 )];
[giftButton setBackgroundImage:giftImage forState:UIControlStateNormal];
giftButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
giftButton.imageView.contentMode = UIViewContentModeScaleToFill;
giftButton.imageView.bounds = CGRectMake( 0, 0, 62, 62 );
}

更新: 找到了一个解决方案,到目前为止所发生的一切都是将按钮的大小调整为图像尺寸,但是使用以下代码,我设法以我需要的大小将图像插入其中,这是一项正在进行的工作,但正在工作;)

CGSize targetSize = CGSizeMake( 62, 62 );

UIGraphicsBeginImageContext( targetSize );

CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = CGPointMake( 0, 0 );
thumbnailRect.size.width  = 62;
thumbnailRect.size.height = 62;

[giftImage drawInRect:thumbnailRect];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
[giftButton setBackgroundImage:newImage forState:UIControlStateNormal];

UIGraphicsEndImageContext();

代码来自这篇文章Resize and crop images before displaying in UITableViewCells

最佳答案

你可以试试:

[giftButton setContentMode:UIViewContentModeScaleAspectFit];

这应该缩放图像以很好地适合您的按钮

关于objective-c - 如何调整自定义 UIButton 的图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443767/

相关文章:

iOS Buttons - 添加边框

objective-c - [__NSArrayM objectAtIndex :]: index 2 beyond bounds [0 . 。 1]'

objective-c - 带有自动布局的 UIScrollView 内的 UITextView

ios - 如何让 stepper 和 longpress 共存?

iphone - 如何在 iPhone 上实现 <50 毫秒延迟的音频流

ios - APNs 证书更改后,FCM 不发送推送通知

ios - 在 Swift 中使用标签

ios - UIButton 没有被实例化

ios - 如何在 UILocalnotification 中分配自定义时间?

ios - Button.titleLabel setTextColor:不起作用