Я хочу отрезать верхнюю и нижнюю часть представления контейнера в моей ячейке 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 () отдельно следующим образом:
Впервые использую Swift и вот что я понял на данный момент. Я не уверен, почему HomeContentView не отображает контент динамически на основе filemanager.directoryFiles. Существует ли простой способ динамического отображения содержимого внешнего...
Каждый раз, когда я создаю экземпляр UIView и добавляю UIBezierPath в качестве маски с помощью функции roundSpecificCorners:withRadius:, представление кажется имеющим меньшие поля с правой стороны и снизу, из-за чего оно не покрывает все...
Every time I instantiate a UIView and add a UIBezierPath as a mask using the roundSpecificCorners:withRadius: function, the view seems to have a smaller margin on the right side and bottom, causing it not to cover the entire view as expected....
Я рисую путь шириной 10 пикселей, но когда я пытаюсь обнаружить в нем касания, UIBezierPath содержит: метод обнаруживает только касания, которые происходят на линии шириной 1 пиксель, а не на линии шириной 10 пикселей.
let path = UIBezierPath()...