UIBezierPath и рисование
Для рисования в iOS можно использовать CoreGraphics — это основанная на функциях C концепция. В данной концепции мы получаем контекст для рисования и в нем и рисуем.
// // proSwift.ru // let context = UIGraphicGetCurrentContext()
Все последующие манипуляции мы производим с этим контекстом.
Однако есть более простой и приятный способ:
Это объектно-ориентированный класс UIBezierPath. Он построен на концепции CoreGraphics, экземпляр класса UIBezierPath сочетает в себе все что нужно для рисования. Например он автоматически создает вышеупомянутый context.
Итак, ключевые моменты для работы с UIBezierPath:
// // proSwift.ru // let path = UIBezierPath() // рисуем треугольник (представим что карандашом) path.moveToPoint(CGPoint(70, 40)) // поднесли карандаш к данной точке path.addLineToPoint(CGPoint(130, 140)) // провели линию от точки выше к (130, 140) path.addLineToPoint(CGPoint(5, 140)) // провели еще лини от точки выше к (5, 140) path.closePath() // закрыли путь, т.е. провели линию от последней точки (5, 140) к первой точке (70, 40) UIColor.blueColor().setFill() // задали цвет заливки UIColor.blackColor().setStroke() // задали цвет линии пути path.linewidth = 3.0 // ширина линии пути path.fill() // залили треугольник path.stroke() // отрисовали путь let roundRect = UIBezierPath(roundedRect: aCGRect, cornerRadius: aCGFloat) let oval = UIBezierPath(ovalInRect: aCGRect) func containsPoint(CGPoint) -> Bool // возвращает содержит ли путь данную точку. Путь должен быть закрыт.
Добавить комментарий