круглое дноПраво с байтовыми углами не работает - PullRequest
1 голос
/ 20 октября 2019

Я пытаюсь сделать круглый угол для topLeft и rightBottom, верхний круглый работает хорошо, но leftBottom все еще прямоугольник,

Я много искал, думаю, что это проблема наложения, но не знаю, как ее исправитьПожалуйста, помогите?

PS это хорошо работает только в IPhone Xs Max

import UIKit

@IBDesignable
class CustomView: UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        setRadius()

    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setRadius()
    }
    override func prepareForInterfaceBuilder() {
        setRadius()
    }
    func setRadius()
    {
        let  cornerRadius = 18.0

        let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners:  [.topLeft, .bottomRight], cornerRadii: CGSize(width: cornerRadius, height: cornerRadius))

        let maskLayer = CAShapeLayer()
        self.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
        maskLayer.frame = self.bounds
        maskLayer.path = path.cgPath
        self.layer.mask = maskLayer
    }
}

1 Ответ

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

Попробуйте это

let your_Frame = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))//define your frame size you want
your_Frame.layer.cornerRadius = 25//deine the radius you want
your_Frame.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMaxYCorner]
view.addSubview(your_Frame)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...