ios - 将图像设置在背景中心,按钮周围有内部空间

标签 ios swift uibutton uiimage

我已经为按钮设置了背景图像,并将layer.cornerRadius应用到该按钮,以便按钮就像一个圆圈,但图像被从角落切掉,所以我该如何将图像放在按钮的中心,这样当我应用layer.cornerRadius时,就不应该从角落切掉图像,有没有办法让我可以从内侧到按钮框架留出一个空间.

这是我已经尝试过的:

myCheckBoxButton.setBackgroundImage(#imageLiteral(resourceName: "check-square"), for: .normal)
myCheckBoxButton.frame = CGRect(x: 120, y: 10, width: 40, height: 40)
myCheckBoxButton.backgroundColor = .blue
myCheckBoxButton.layer.cornerRadius = 20
myCheckBoxButton.showsTouchWhenHighlighted = true
myCheckName.text = "Checkbox"
myCheckName.textColor = .gray
myCheckName.frame = CGRect(x: 100 , y: 60, width: 80, height: 15)

enter image description here

在 aleksmutlu 回答后更新

一切正常,但图像不是白色透明的,而是蓝色的

enter image description here

更新完成

添加了自定义按钮类型

let myCheckBoxButton = UIButton(type: .custom)

最佳答案

您可以将图像设置为按钮的内容并为其添加一些插图,而不是设置背景图像。

myCheckBoxButton.setImage(#imageLiteral(resourceName: "check-square"), for: .normal)
myCheckBoxButton.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10)

关于ios - 将图像设置在背景中心,按钮周围有内部空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473196/

相关文章:

ios - 我如何模糊我的 UIViewController 上的一些层(不是代码,只是概念)

iphone - 如何在应用程序启动时从应用程序委托(delegate)加载不同的 View Controller 类(即从应用程序委托(delegate))

ios - 在 Init 函数中检测设备方向

css - 使用 Vaadin 在按钮图像/图标中间设置标题

ios - 当用户在 UIButton 上滑动时,UIScrollView 停止工作

iphone - 读取 iPhone 上安装的证书

json - 将 Firebase 结果添加到数组时遇到问题

Swift:无法将 NSTableHeaderCell 添加到 NSTableView

ios - 清除带有渐变标题和 cornerBorder 的 UIButton

ios - 自动布局试图改变我的 View 宽度