我的應用程序的一個方面是繪製餅圖。所以一旦用戶點擊一個按鈕,我啓動一個我創建的pieDrawing類。重繪通過類創建的Rect
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)];
它會使用PosXand的新值重繪它,但它仍然存在,但舊的餅仍然存在。 我是否需要釋放或清除舊的餅圖?
讓我知道你是否需要更多的細節。 由於
什麼是'PieClass'的一個子類?在重繪和重新添加之前,您可能只需執行'[self.view removeSubview:mPieClass]''。 – Dustin 2012-07-26 18:54:10
@Dustin PieClass是我主視圖的子類,它是我擁有的所有子視圖的父視圖。我最初嘗試你的代碼,我得到一個警告「實例方法-removeSubview未找到(返回類型默認ti ID)」,當我運行代碼它吹SIGABRT – 2012-07-26 19:05:19
我宣佈PieClass * mPieClass;作爲全局\公共變量在頂視圖controller.m代碼.. – 2012-07-26 19:09:33