我想增加图像按钮的触摸区域,并且在搜索时,发现了一种使用CALayer
的 contentsCenter 属性的方法。
https://developer.apple.com/documentation/quartzcore/calayer/1410740-contentscenter
上面的文档示例显示了一个图像,该图像居中于图层内部,可以随着图层大小的变化而调整大小,同时保持contentsCenter
属性中定义的比率。
但是当我使用contentsCenter
属性时,它只会拉伸图像的中心-(0.5, 0.5)
。
所以我将contentsGravity
属性添加到.center,但是导致contentsCenter
属性无法正常工作。
button.frame = CGRect(x: 0, y: 0, width: 300, height: 300)
button.center = view.center
button.backgroundColor = .clear
let image = UIImage(named: "profileImage")
button.layer.contents = image?.cgImage
button.layer.contentsCenter = CGRect(x: 0.25, y: 0.25, width: 0.5, height: 0.5)
button.layer.contentsGravity = .center
//button.layer.contentsScale = image?.scale
button.layer.borderColor = UIColor.black.cgColor
button.layer.borderWidth = 2
button.layer.cornerRadius = 5
button.layer.masksToBounds = true
如何使图像居中于具有嵌入比例的按钮内?
答案 0 :(得分:0)
您可以使用以下代码增加UIButton
的大小
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)