2016-02-27 3 views
1

Я пытаюсь отобразить 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 отображает только много сообщений в консоли, и ни в симуляторе!

Я пробовал следовать этим решениям How can I set CG_CONTEXT_SHOW_BACKTRACE environmental variable?, но тот же (и, по их мнению, вопрос должен быть разрешен с помощью iOS 9.1).

Here's an example code.

+1

Я думаю, вы должны понимать основы пользовательского рисования на IOS Fisrt. Запустите учебную графическую библиотеку Core. Это хороший учебник: http: //www.raywenderlich.com/90690/modern-core-graphics-with-swift-part-1 –

+0

Не могу ли я нарисовать UIBezierPath прямо в viewController? –

+2

Помните, что вы рисуете на представлении не на ViewController. –

ответ

2

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

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) 
Смежные вопросы