Сделайте UILabel на 45 градусов с кроссовым фоном, стремительным - PullRequest
0 голосов
/ 19 мая 2018

Я хочу отображать текст под углом 45 градусов с цветом фона.

Пример

like this

Заранее спасибо

1 Ответ

0 голосов
/ 19 мая 2018

Этот элемент содержит два подэлемента:

  1. треугольник UIView;
  2. повернут UILabel.

Первое может быть достигнуто с помощьюсоздание пользовательского представления с переопределением draw метод:

class TriangleView: UIView {

    override func draw(_ rect: CGRect) {
        let path = UIBezierPath()
        path.move(to: .zero)
        path.addLine(to: CGPoint(x: rect.maxX, y: 0))
        path.addLine(to: CGPoint(x: 0, y: rect.maxY))
        path.close()

        UIColor.red.withAlphaComponent(0.5).setFill()
        path.fill()
    }

}

Второй простой поворот преобразования для -45 градусов:

label.transform = CGAffineTransform(rotationAngle: -.pi / 4)

Результат:

enter image description here

Следующее, что вы должны сделать - точно установить UILabel границы (метка не должна уходить за пределы экрана) и количество строк.Ограничения и атрибутивный инспектор для элемента UILabel могут вам помочь.

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