Закругленные углы нескольких кнопок

uibutton
swift

#1

Подскажите, пожалуйста, как сделать закругленные углы нескольких кнопок, чтобы не писать каждой кнопки button.layer.cornerRadius, а применить один раз к нужному количеству элементов?
Спасибо!


#2

Например так, в функцию передавай оутлет кнопки и все

func buttonsParametrs(obj: UIButton) {
        
        obj.layer.cornerRadius = 10
        obj.clipsToBounds = true
        
    }

#3

Сделайте кастомную кнопку и используйте её:

class MyButton: UIButton {
    convenience init(type: UIButtonType) {
        self.init(type: type)
        clipsToBounds = true
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        clipsToBounds = true
    }
    override init(frame: CGRect) {
        super.init(frame: frame)
        clipsToBounds = true
    }
    override var clipsToBounds: Bool {
        didSet {
            layer.cornerRadius = 10
        }
    }
}

#4

Я попробовал Ваш вариант и к сожалению не получилось. Углы все равно не закругленные. В чем может быть проблема?


#5

а как вы именно попробовали?

    let butt = MyButton(frame: CGRect(x: 5, y: 100, width: 60, height: 60))
    butt.backgroundColor = .red
    view.addSubview(butt)

отличная кнопка с закругленными углами
И в storyboard добавте кнопку, укажите что ее класс это MyButton и все будет


#6

А Вы класс MyButton присвоили своей кнопке?


#7

Да я решил забросить этот вариант и сделал все через @IBInspectable раьотает все прям на ура, как узнал про эту штуку, часто стал пользоваться. Даже кастомный класс не пришлось создавать, просто расширение сделал, и новые свойства начал писать.:slight_smile: