Ios 将小UIImage放入大UIButton中

Ios 将小UIImage放入大UIButton中,ios,swift,Ios,Swift,我有一个大约大小为60px x 60px的UIButton,我必须在其中放置一个UIImage。图像的放置方式如下: var emptyHeart = UIImage(named: "Red_Heart_Empty_x23px.png")?.imageWithRenderingMode(.AlwaysTemplate) self.favouriteButton.setImage(emptyHeart, forState: UIControlState.Normal) 图像应为24*21px。但

我有一个大约大小为60px x 60px的UIButton,我必须在其中放置一个UIImage。图像的放置方式如下:

var emptyHeart = UIImage(named: "Red_Heart_Empty_x23px.png")?.imageWithRenderingMode(.AlwaysTemplate)
self.favouriteButton.setImage(emptyHeart, forState: UIControlState.Normal)
图像应为24*21px。但是,如果我用Photoshop将图像调整到这个大小,即使选择300分辨率,图标也会被弄脏。如果我选择图像的较大版本,它将填充整个按钮。理想情况下,我需要一个清晰的24*21px图像。我仍然尝试在按钮中调整较大的版本,但不起作用。我试过了

1) self.favouriteButton.imageEdgeInsets = UIEdgeInsetsMake(17, 21, 0, 0);
2) self.favouriteButton.imageView?.frame = CGRectMake(0, 0, 24, 21)

第一个会产生非常奇怪的效果,第二个根本不起作用。

听起来你的问题可以通过提供几种级别的图像分辨率来解决。最后,您将添加红色\u Heart\u Empty_x23px@2x.png红色的心是空的_x23px@3x.png对于更高密度的屏幕


有一些应用程序可以帮助自动将文件大小调整为@2x和@3x版本。我不能代表所有人说话,但我使用的一个叫做prep,它对我很好。

你考虑的是视网膜屏幕,对吗?i、 我们需要24*21Oh的双尺寸图像,好的。我以为如果把一张图像放在两倍大的地方,它会显示为两倍大,但我们这里讨论的是分辨率,而不是大小