我想繪製一組圍繞視圖邊緣的小圓來鏡像我在我的應用程序中控制的物理燈光(像素)。這些圈子會頻繁改變顏色。所以我創建了一個PixelSimulator對象來將每個圓圈繪製成一個自定義的UIView對象。在UIView :: drawRect()之外繪製UIBezierPath?
下面是相關的代碼
class PixelSimulator {
let size: CGSize;
let color: UIColor;
let pixelPath: UIBezierPath;
init (point: CGPoint, size: CGSize, pixel: Pixel) {
self.point = point;
self.size = size;
self.pixel = pixel;
pixelRect = CGRect(origin: point, size: size);
pixelPath = UIBezierPath(ovalInRect: pixelRect);
color = pixel.color;
}
func render() {
UIGraphicsBeginImageContext(size);
color.setFill();
pixelPath.fill();
UIGraphicsEndImageContext();
}
}
我試着用CGContextAddEllipseInRect(context, pixelRect)
無濟於事了不同的方法。我也試過在render()
方法裏面聲明pixelPath,但也無濟於事。
我需要改變什麼才能讓我的貝塞爾路徑隨時在drawRect()
的屏幕上畫出來嗎?
您的圖像上下文有什麼計劃?你什麼時候打電話給渲染? – Wain
當相應的物理光源顏色發生變化時,我會調用'render()'。 – turibe
從哪裏?在抽籤?設置視圖以在更改時顯示?我不會使用圖像上下文,我會直接繪製視圖或圖層。 – Wain