0

我的应用程序的一个方面是绘制饼图。因此,一旦用户点击一个按钮,我就会启动一个我创建的 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或其他东西来清除旧馅饼吗?

如果您需要更多详细信息,请告诉我。谢谢

4

1 回答 1

0

UIView文档中:

框架定义了视图在其父视图坐标系中的原点和尺寸,通常在布局时用于调整视图的大小或位置。

要将视图放置在新位置,请分配新框架:

mPieClass.frame = CGRectMake(newX, newY, newWidth, newHeight);
于 2012-07-26T19:19:23.767 回答