CornerRadius не установлен - PullRequest
       57

CornerRadius не установлен

0 голосов
/ 01 ноября 2018

Я пытаюсь закруглить углы на UIView внизу слева и внизу справа. enter image description hereenter image description here

extension UIView {    
    func roundBottom(raduis: CGFloat){
        let maskPath1 = UIBezierPath(roundedRect: bounds,
                                     byRoundingCorners: [.BottomRight, .BottomLeft],
                                     cornerRadii: CGSize(width: raduis, height: raduis))
        let maskLayer1 = CAShapeLayer()
        maskLayer1.frame = bounds
        maskLayer1.path = maskPath1.CGPath
        layer.mask = maskLayer1
    }
}

И звоните cell.bottomCorner.roundBottom(8)

Но я понял:

iPhone 5:

enter image description here

iPhone 6s:

enter image description here

iPhone 6s Plus:

enter image description here

1 Ответ

0 голосов
/ 01 ноября 2018

Вы должны обновлять маску каждый раз, когда представление меняет свой размер, поэтому в идеале вы должны менять ее всякий раз, когда вызывается UIView.layoutSubviews:

override func layoutSubviews() {
   super.layoutSubviews();
   // update mask
}

Это не идеальный способ сделать это с помощью вспомогательного метода расширения. Вы должны создать определенный класс для обработки изменения размера.

...