Как изменить вид для метки - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть ярлык, и я хочу изменить его вид.Кто-то посоветовал мне использовать Безье, но я хочу простой вариант.

Мой ярлык:

it is my lable

Как это должно выглядеть:

what should look like

1 Ответ

0 голосов
/ 29 ноября 2018

Поскольку это не очень сложные формы, я бы предложил создать два белых UIView s, повернуть их на 45 градусов и затем добавить их в качестве подпредставлений к UILabel.Код будет выглядеть примерно так:

    myLabel.clipsToBounds = true
    // create the triangle on the left side of the label
    let leftSquare = UIView(frame: CGRect(x: myLabel.frame.height / -2, y: 0, width: myLabel.frame.height, height: myLabel.frame.height))
    leftSquare.translatesAutoresizingMaskIntoConstraints = true
    leftSquare.isUserInteractionEnabled = false
    leftSquare.backgroundColor = UIColor.white
    leftSquare.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 4)) // 45 degree rotation
    // create the triangle on the right side of the cell
    let rightSquare = UIView(frame: CGRect(x: myLabel.bounds.width - (myLabel.frame.height / 2), y: 0, width: myLabel.frame.height, height: myLabel.frame.height))
    rightSquare.translatesAutoresizingMaskIntoConstraints = true
    rightSquare.isUserInteractionEnabled = false
    rightSquare.backgroundColor = UIColor.white
    rightSquare.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 4))
    // add squares to label
    myLabel.addSubview(leftSquare)
    myLabel.addSubview(rightSquare)
    myLabel.sendSubview(toBack: leftSquare)
    myLabel.sendSubview(toBack: rightSquare)
...