如何调整UIButton中的图像大小?

问题描述:

我有这样的UIButton和图像,以适应英寸 我不希望像把所有的按钮内它的空间,但只是一小部分在市中心,但如果我调整按钮,它会调整图像也是如此。 我该怎么做,是否有一个选项来设置我想要独立于UIButton大小的任何维度? 谢谢!如何调整UIButton中的图像大小?

+0

你是问如何通过界面生成器或通过代码做到这一点? – rmaddy

我会做这种方式:

一个UIButton只是一个UIView。您可以简单地添加一个带有设置图像的UIImageView,并在UIButton上致电addSubview

您还应该在UIImageView上设置userInteractionEnabledfalse

+0

感谢大家,但这对我有帮助! –

+1

userInteractionEnabled设置为false在默认的UIImageView – aryaxt

+0

我不能相信我这个从来没有新的,现在我没有与插图哈哈奋斗!谢谢 – RickS

您可以用图像视图插图实验。每个UIButton都有一个属性imageView。

在斯威夫特3,你可以做到这一点,像这样:

//let button = UIButton() 
button.imageView?.backgroundColor = UIColor.red 
button.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10) 

红色背景只是让你知道什么是改变

这可以通过代码通过以下方式进行:

let imageSize:CGSize = CGSize(width: 20, height: 20) 

let button:UIButton = UIButton(type: UIButtonType.custom) 
button.frame = CGRect(x: 200, y: 200, width: 60, height: 60) 
button.backgroundColor = UIColor.yellow 
button.setImage(UIImage(named: "chat.png"), for: UIControlState.normal) 
// The below line will give you what you want  
button.imageEdgeInsets = UIEdgeInsetsMake(button.frame.size.height/2 - imageSize.height/2, button.frame.size.width/2 - imageSize.width/2, button.frame.size.height/2 - imageSize.height/2, button.frame.size.width/2 - imageSize.width/2) 

self.view.addSubview(button) 

这样,你可以达到你想要的。