Как использовать uibezierpath () на maskapelayer () несколько раз для того же представления в Swift 5IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать uibezierpath () на maskapelayer () несколько раз для того же представления в Swift 5

Сообщение Anonymous »

Я хочу отрезать верхнюю и нижнюю часть представления контейнера в моей ячейке 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 () отдельно следующим образом:


Подробнее здесь: https://stackoverflow.com/questions/589 ... ew-in-swif
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»