Не удается отобразить UIBezierPath

Я пытаюсь отобразить UIBezierPath в представлении. Это объект:

let color = UIColor(red: 0.651, green: 1.000, blue: 0.000, alpha: 1.000).setFill() 
let rectanglePath = UIBezierPath(rect: CGRectMake(15, 0, 8, 120))
rectanglePath.fill()

но при запуске xCode отображает только много сообщений в консоли и ни одного в симуляторе!

Я пробовал следовать этим решениям Как установить переменную среды CG_CONTEXT_SHOW_BACKTRACE ? но то же самое (и, по их мнению, проблема должна быть решена в iOS 9.1).

Вот пример кода.


person Matte.Car    schedule 27.02.2016    source источник
comment
Я думаю, вам нужно сначала понять основы пользовательского рисования на iOS. Начните изучать библиотеку Core Graphics. Это хорошее руководство:raywenderlich.com/90690/ современная-ядерная-графика-со-свифтом-часть-1   -  person christian mini    schedule 27.02.2016
comment
Могу ли я нарисовать UIBezierPath прямо в viewController?   -  person Matte.Car    schedule 27.02.2016
comment
Помните, что вы рисуете в представлении, а не в ViewController.   -  person christian mini    schedule 27.02.2016


Ответы (1)


Просто измените код:

    let shapeLayer = CAShapeLayer()
    let color = UIColor(red: 0.651, green: 1.000, blue: 0.000, alpha: 1.000).CGColor
    let rectanglePath = UIBezierPath(rect: CGRectMake(15, 0, 8, 120))

    shapeLayer.path = rectanglePath
    shapeLayer.fillColor = color

    self.view.layer.addSublayer(shapeLayer)
person Matte.Car    schedule 27.02.2016