radiusCorner и кнопка - PullRequest
       13

radiusCorner и кнопка

0 голосов
/ 14 октября 2019

У меня небольшая проблема с моей кнопкой.

Мои кнопки имеют вертикальный вид стека.

Я хочу округлить только углы вершины для моей кнопки # 1.

xcode

Мой код:

extension UIButton {
     func roundedButton(){
        let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: [.topLeft , .topRight], cornerRadii: CGSize(width: 5, height: 5))
        let mask = CAShapeLayer()
        mask.frame = self.bounds
        mask.masksToBounds = true
        mask.path = path.cgPath
        layer.mask = mask
    }
}

Использование:

bouton1.roundedButton()

Но результат не очень хороший ..

prb button

Почему моя кнопка не завершена? У тебя есть идея?

Спасибо за помощь:)

1 Ответ

2 голосов
/ 14 октября 2019

Я думаю, что ваша проблема в том, что вы вызываете этот метод не в том месте.

Что-то, что должно получить правильное прямое значение компонента, должно вызываться после того, как обновления пользовательского интерфейса уже правильно отрисованы.

Добавьте view.setNeedsLayout() и view.layoutIfNeeded() перед вызовом bouton1.roundedButton(), чтобы решить вашу проблему.

...