Я хочу отрезать верхнюю и нижнюю часть представления контейнера в моей ячейке View View с использованием uibezierpath () & cashapelayer () . Код следующим образом: < /p>
func cutView() {
let containerViewHeight: CGFloat = containerView.frame.height
let headerCut: CGFloat = 50
let newHeight = containerViewHeight - headerCut/2
let newHeaderUpperLayer = CAShapeLayer()
let newHeaderLowerLayer = CAShapeLayer()
newHeaderUpperLayer.fillColor = UIColor.black.cgColor
newHeaderLowerLayer.fillColor = UIColor.black.cgColor
containerView.layer.mask = newHeaderUpperLayer
containerView.layer.mask = newHeaderLowerLayer
let getViewFrame = CGRect(x: 0, y: -newHeight, width: containerView.bounds.width, height: containerViewHeight)
let cutDirectionUpper = UIBezierPath()
let cutDirectionLower = UIBezierPath()
cutDirectionUpper.move(to: CGPoint(x: 0, y: 0))
cutDirectionUpper.addLine(to: CGPoint(x: getViewFrame.width, y: headerCut))
cutDirectionUpper.addLine(to: CGPoint(x: getViewFrame.width, y: getViewFrame.height))
cutDirectionUpper.addLine(to: CGPoint(x: 0, y: getViewFrame.height))
cutDirectionLower.move(to: CGPoint(x: 0, y: 0))
cutDirectionLower.addLine(to: CGPoint(x: getViewFrame.width, y: 0))
cutDirectionLower.addLine(to: CGPoint(x: getViewFrame.width, y: getViewFrame.height))
cutDirectionLower.addLine(to: CGPoint(x: 0, y: getViewFrame.height - headerCut))
newHeaderUpperLayer.path = cutDirectionUpper.cgPath
newHeaderLowerLayer.path = cutDirectionLower.cgPath
}
< /code>
работает отдельно, но не вместе. Что мне здесь не хватает? src = "https://i.sstatic.net/9l7mo.png"/>
Но то, что я хочу, это:
Они оба удаляют верхний и нижний разреза. Что мне здесь не хватает?
Вывод об использовании cgmutablepath ()
и комбинированный uibezierpath () отдельно следующим образом:
Я хочу отрезать верхнюю и нижнюю часть представления контейнера в моей ячейке View View с использованием uibezierpath () & cashapelayer () . Код следующим образом: < /p> [code]func cutView() { let containerViewHeight: CGFloat = containerView.frame.height let headerCut: CGFloat = 50 let newHeight = containerViewHeight - headerCut/2 let newHeaderUpperLayer = CAShapeLayer() let newHeaderLowerLayer = CAShapeLayer()
newHeaderUpperLayer.path = cutDirectionUpper.cgPath newHeaderLowerLayer.path = cutDirectionLower.cgPath } < /code> работает отдельно, но не вместе. Что мне здесь не хватает? src = "https://i.sstatic.net/9l7mo.png"/> Но то, что я хочу, это:
Они оба удаляют верхний и нижний разреза. Что мне здесь не хватает?
Вывод об использовании cgmutablepath () [/code] и комбинированный uibezierpath () отдельно следующим образом: