如何调整自定义 UIButton 的图像大小?
Posted
技术标签:
【中文标题】如何调整自定义 UIButton 的图像大小?【英文标题】:How to resize an image for a custom UIButton? 【发布时间】:2012-11-18 19:33:56 【问题描述】:我有一个 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
【问题讨论】:
【参考方案1】:你可以试试:
[giftButton setContentMode:UIViewContentModeScaleAspectFit];
这应该缩放图像以很好地适合您的按钮
【讨论】:
以上是关于如何调整自定义 UIButton 的图像大小?的主要内容,如果未能解决你的问题,请参考以下文章
根据内容(主要是标题和图像)自动调整 UIButton 大小的最佳方法是啥?