Я пытаюсь дать каждой строке другой цвет, но каждый раз, когда я перемещаю ползунки, отвечающие за цвет линий, каждая строка меняет свой цвет. Я попытался помещать значения, которые я получаю из ползунков, в цикл for, но по какой-то причине он не дает каждой строке другой цвет. Переменные хранилища - это переменные, которые я использую для хранения значений из ползунков, определенных в классе контроллера вида.Как вы устанавливаете разные линии с разными цветами?
Чтобы уточнить, что я пытаюсь сделать, вот пример: Строка 1 может быть красной, а строка 2 может быть фиолетовой.
Вот моя текущая попытка изменить цвет линий:
import UIKit
import CoreData
class DrawClass: UIView {
var lines:[Line] = []
var lastPoint: CGPoint!
required init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
self.backgroundColor = UIColor.whiteColor()
self.layer.zPosition = 1
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent){
if let touch = touches.first as? UITouch {
lastPoint = touch.locationInView(self)
}
}
override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent){
if let touch = touches.first as? UITouch {
var newPoint = touch.locationInView(self)
lines.append(Line(start: lastPoint, end: newPoint))
lastPoint = newPoint
}
self.setNeedsDisplay()
}
override func drawRect(rect: CGRect) {
var context = UIGraphicsGetCurrentContext()
var storage: Float = ViewController.simple.storage1
var storage2: Float = ViewController.simple.storage2
var storage3: Float = ViewController.simple.storage3
for line in lines
{
CGContextBeginPath(context)
CGContextMoveToPoint(context, line.start.x, line.start.y)
CGContextAddLineToPoint(context, line.end.x, line.end.y)
CGContextSetRGBStrokeColor(context, CGFloat(storage), CGFloat(storage2), CGFloat(storage3), 1)
CGContextSetLineWidth(context, 5)
CGContextStrokePath(context)
}
}
}
Есть ли у него что-нибудь сделать с этой строки кода:
lines.append(Line(start: lastPoint, end: newPoint))
Спасибо! Он функционирует так, как предполагалось сейчас! Однако мне пришлось преобразовать значения цвета линии в CGFloat и удалить переменные начальной и конечной точки, так как я не использовал эти параметры. – user3479469