Я хочу сделать пользовательскую кнопку с текстом и изображением.Я использую код ниже, чтобы сделать изображение, текст в середине зеленого поля и изменить размер зеленого поля тоже, но я не могу.
как сделать изображение, текст в центре зеленого поля и изменить размер зеленого поля?
кнопка с текстом и изображением
@IBDesignable class MyButton: UIButton {
переопределить func layoutSubviews () {
super.layoutSubviews()
updateCornerRadius()
centerVertically()
}
@IBInspectable var rounded: Bool = false {
didSet {
updateCornerRadius()
}
}
func updateCornerRadius() {
layer.cornerRadius = 15
frame.size = CGSize(width: 100, height: 100)
}
func centerVertically(padding: CGFloat = 6.0) {
guard
let imageViewSize = self.imageView?.frame.size,
let titleLabelSize = self.titleLabel?.frame.size else {
return
}
let totalHeight = imageViewSize.height + titleLabelSize.height + padding
self.imageEdgeInsets = UIEdgeInsets(
//top: -(totalHeight - imageViewSize.height),
top: -(100 - totalHeight)/2 ,
left: 0.0,
bottom: 0.0,
right: -titleLabelSize.width
)
self.titleEdgeInsets = UIEdgeInsets(
top: 0.0,
left: -imageViewSize.width,
bottom: -(totalHeight - titleLabelSize.height),
//bottom: (100 - totalHeight)/2,
right: 0.0
)
self.contentEdgeInsets = UIEdgeInsets(
top: 0.0,
left: 0.0,
bottom: titleLabelSize.height,
right: 0.0
)
}
}