Я хочу увеличить сенсорную область кнопки изображения, и когда я искал, я нашел способ использовать contentsCenter свойство CALayer
.
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
Как сделать центр изображения внутри кнопкис соотношением поддерживающих вставок?