重绘通过类创建的Rect

时间:2012-07-26 18:51:56

标签: iphone objective-c xcode ipad

我的应用程序的一个方面是绘制饼图。因此,一旦用户点击按钮,我就会启动我创建的pieDrawing类。

mPieClass=[[PieClass alloc]initWithFrame:CGRectMake(10+PosX, 10, 320, 230)];

然后我将一些数据填充到类变量,半径,颜色,值等(并且类本身创建一些标签) 然后将其添加为子视图。

[self.view addSubview:mPieClass];
到目前为止,这么好,馅饼显得很好。现在由于改变了iPad的方向,我需要重新绘制它并将其放在不同的位置。

我的问题是我应该怎么做,目前我只是再次调用绘图/创建方法,它将在另一个位置绘制另一个馅饼,但我之前的馅饼仍在显示。我想如果我打电话

 mPieClass=[[PieClass alloc]initWithFrame:CGRectMake(10+PosX, 10, 320, 230)];

它会使用PosX的新值重新绘制它,但它确实存在,但旧的饼仍在那里。 我是否需要dealloc或其他东西来清除旧馅饼?

如果您需要更多详细信息,请与我们联系。 感谢

1 个答案:

答案 0 :(得分:0)

来自UIView文档:

  

frame 定义了视图的原点和尺寸   其超视图的坐标系统,在布局过程中常用   调整视图的大小或位置。

要将视图置于新位置,请指定新框架:

mPieClass.frame = CGRectMake(newX, newY, newWidth, newHeight);