Как изменить внешний вид Tabbar, используя CAShapeLayer в swift 4? - PullRequest
0 голосов
/ 10 апреля 2020

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

import UIKit

class CustomTabBar: UITabBar {

override func draw(_ rect: CGRect) {
    let shapeLayer = CAShapeLayer()
    shapeLayer.path = createPath().cgPath
    shapeLayer.lineWidth = 1.0
    self.layer.insertSublayer(shapeLayer, at: 0)

}

func createPath() -> UIBezierPath {
    let radius : CGFloat =  40;
    let path = UIBezierPath()
    path.move(to: CGPoint(x: 0, y: 0))
    path.addLine(to: CGPoint(x: ((self.frame.width/2) - radius), y: 0))
    path.addArc(withCenter: CGPoint(x: (self.frame.width/2), y: 0), radius: radius, startAngle: CGFloat(M_PI) , endAngle: CGFloat(0) , clockwise: true)
    path.addLine(to: CGPoint(x:self.frame.width, y: 0))
    path.addLine(to: CGPoint(x: self.frame.width, y: self.frame.height))
    path.addLine(to: CGPoint(x: 0, y: self.frame.height))
    path.close()
    return path
}

}

...