将小UIImage放在大型UIButton中

时间:2015-06-27 14:51:37

标签: ios swift

我有一个大约60像素×60像素的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)

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

1 个答案:

答案 0 :(得分:2)

听起来你的问题可以通过提供几个级别的图像分辨率来解决。最后,您将为更高密度的屏幕添加Red_Heart_Empty_x23px@2x.png和Red_Heart_Empty_x23px@3x.png。

有一些应用可以自动将文件大小分为@ 2x和@ 3x版本。我不能代表他们所有人,但我使用的那个叫做Prepo,对我来说很好。