我正在UIImageView
(touchesBegan
和touchesMoved
方法中)绘制一些黑线,并且有一个UISlider
用于修改这些线条的宽度和一些用于修改它们颜色的按钮。
如何使用CoreGraphics完成?
...
UIGraphicsBeginImageContext(theImage.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, theNewWidth);
...
谢谢
答案 0 :(得分:0)
首先,你不应该试图利用UIImageView
。而是创建自己的UIView
子类并覆盖-drawRect:
。触发这些UI控件的事件时,只需在视图类上调用-setNeedsDisplay
即可重新绘制它。另外,在您的视图类上设置一些属性(例如,lineWidth
,lineColor
)。
在-drawRect:
中,使用Core Graphics使用用户指定的新值重绘视图。
您可以查看Quartz 2D Programming Guide以获取有关使用Core Graphics绘图所需的所有信息。另外,请查看Apple的QuartzDemo示例项目。它展示了许多(如果不是全部)Core Graphics的功能。