пользовательская кнопка с текстом, изображением в центре и изменением размера кнопки - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу сделать пользовательскую кнопку с текстом и изображением.Я использую код ниже, чтобы сделать изображение, текст в середине зеленого поля и изменить размер зеленого поля тоже, но я не могу.

как сделать изображение, текст в центре зеленого поля и изменить размер зеленого поля?

кнопка с текстом и изображением

@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
    )
}

}

...