Как сделать пользовательские формы просмотра, используя быстрый UIView? - PullRequest
0 голосов
/ 27 июня 2019

Как отобразить UIView в форме звезды, 5 звездочек или много?

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

Как получить форму звезды UIView

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Это код

    let starPath = UIBezierPath(rect: CGRect(x: 30, y: 30, width: 50, height: 50))
    starPath.move(to: CGPoint(x: 45.25, y: 0))
    starPath.addLine(to: CGPoint(x: 61.13, y: 23))
    starPath.addLine(to: CGPoint(x: 88.29, y: 30.75))
    starPath.addLine(to: CGPoint(x: 70.95, y: 52.71))
    starPath.addLine(to: CGPoint(x: 71.85, y: 80.5))
    starPath.addLine(to: CGPoint(x: 45.25, y: 71.07))
    starPath.addLine(to: CGPoint(x: 18.65, y: 80.05))
    starPath.addLine(to: CGPoint(x: 19.55, y: 52.71))
    starPath.addLine(to: CGPoint(x: 2.21, y: 30.75))
    starPath.addLine(to: CGPoint(x: 29.37, y: 23))
    starPath.close()
    starPath.lineWidth = 1
    UIColor.red.setStroke()
    starPath.stroke()

    let shapeLayer = CAShapeLayer()
    shapeLayer.path = starPath.cgPath
0 голосов
/ 27 июня 2019

Вы должны взглянуть на эту тему: Как сделать звезду с более безликой траекторией в ios?

Там вы можете найти UIBezierpath, который рисует звезду. Затем вы можете использовать этот звездный путь и использовать его в качестве пути для CAShapeLayer.

Затем вы должны добавить этот CAShapeLayer к слою вашего UIView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...