Iphone 如何在drawRect中这样绘制?

Iphone 如何在drawRect中这样绘制?,iphone,touch,drawrect,Iphone,Touch,Drawrect,iPhone开发问题: 我想画一个四边形,四边形的四个黑色角(CGPoint)可以改变。 我重写了drawRect方法,但它只显示矩形而不是四边形。这是否意味着drawRect只能绘制具有四个CG点的矩形 最初的要求是通过触摸和移动任何角点来改变四边形的形状。我可以通过覆盖drawRect来解决这个问题吗?我应该做点别的吗? 谢谢。-drawRect:是您放置绘图代码的地方,该代码可以绘制您想要的任何东西。您当然不限于矩形。我不确定我是否遵循了您的问题的特殊性质——如果您发布一些代码,这会有很大

iPhone开发问题: 我想画一个四边形,四边形的四个黑色角(CGPoint)可以改变。 我重写了
drawRect
方法,但它只显示矩形而不是四边形。这是否意味着
drawRect
只能绘制具有四个CG点的矩形

最初的要求是通过触摸和移动任何角点来改变四边形的形状。我可以通过覆盖
drawRect
来解决这个问题吗?我应该做点别的吗?
谢谢。

-drawRect:
是您放置绘图代码的地方,该代码可以绘制您想要的任何东西。您当然不限于矩形。我不确定我是否遵循了您的问题的特殊性质——如果您发布一些代码,这会有很大帮助。一般来说,
-drawRect:
是放置绘图代码的正确位置,如果您的视图没有按您希望的方式绘制,很可能是由于代码中存在问题,而不是由于
-drawRect:
方法的限制。

具体来说,视图的框架定义了它的
原点{x,y}
,以及
大小{宽度,高度}

这是一个简单的矩形

此外,还会为绘图参数传递一个矩形

要使视图表示比矩形更复杂的四边形,必须编写一些自定义几何体转换(除非函数已经存在)。有许多API可以简化此过程(例如NSBezierPath/UIBezierPath)

最终,您需要一个足够大的框架来容纳整个四边形。当要求绘制一部分时,您可以确定绘制什么以及如何填充


由于您希望在矩形内有4个可移动点,因此必须定义4个点(例如CGPoint)——每个角一个点。使这些IVAR成为视图的子类。当它们发生更改时,请根据需要使视图无效。

非常感谢!您能告诉我如何更改4分的数值并在屏幕上显示吗?我在这里问了这个问题,里面有代码: