Ios 是否可以重新绘制(更改填充颜色或应用转换)单个CGPath或所有内容都必须重新绘制?

Ios 是否可以重新绘制(更改填充颜色或应用转换)单个CGPath或所有内容都必须重新绘制?,ios,xamarin.ios,Ios,Xamarin.ios,我在UIVIew中绘制了一组CGPath,其中UIImage用作画布(想象一幅带有一些高光的地图) 每个路径都使用填充和边框颜色绘制 此视图的业务逻辑表示,当对象(由路径表示)转到另一个状态(例如:忙碌、维护)时,它必须更改其边框或填充颜色 此时,我正在更新对象列表的一个元素,并调用SetNeedsDisplay 抽签被调用,所有内容都被重新绘制 有更好的方法吗?我可以只更改一条路径吗 谢谢 路易斯·皮尼奥这是不可能做到的。您需要重新绘制已曝光的整个区域 如果有一个项目预期会发生很大变化,但其余

我在UIVIew中绘制了一组CGPath,其中UIImage用作画布(想象一幅带有一些高光的地图)

每个路径都使用填充和边框颜色绘制

此视图的业务逻辑表示,当对象(由路径表示)转到另一个状态(例如:忙碌、维护)时,它必须更改其边框或填充颜色

此时,我正在更新对象列表的一个元素,并调用SetNeedsDisplay

抽签被调用,所有内容都被重新绘制

有更好的方法吗?我可以只更改一条路径吗

谢谢


路易斯·皮尼奥

这是不可能做到的。您需要重新绘制已曝光的整个区域

如果有一个项目预期会发生很大变化,但其余项目将保持不变,则可以使用两个不同的视图或图层。一个包含静态上下文,另一个包含更新的上下文。具有更新上下文的一个将具有透明的背景,并且您可以将其置于另一个之上


这样,您只需重新绘制该视图/图层。

嗨,米格尔,首先我要感谢您和所有团队为Xamarin所做的一切:)我读过的所有文档都说了类似的话,您认为绘制到位图并显示的技术比绘制到屏幕(移动)更有效吗?