2010-05-10 48 views
0

也許有更好的方法來設置這個,所以我願意提出建議。如何更新次要視圖?

但這就是我正在做的。我有一個主要的UIView。最重要的是,我有一個UIImageView和另一個UIView。當UIImageView更改時,我想更改第二個UIView。所以我有一個類,IB對象的類型設置爲類。在該類的.m中是繪製矩形的drawRect方法。在.m中也是一個合成的NSMutableArray屬性。我在主視圖的控制器中創建了該類的一個實例。

問題:儘管當應用程序啓動時(如在調試器中跟蹤),drawRect可以正常工作,但當UIImageView更改時,我在更新@synthesize之後在第二個視圖的實例變量上調用「setNeedsDisplay」 'd數組,但drawRect不會被調用。

我認爲它與實例有關。我不認爲線程會成爲一個問題。我只想根據也顯示的圖像在畫面的單獨區域繪製。

+0

我對線程知之甚少。我沒有創建任何。我嘗試setNeedsDisplayOn主線無濟於事。我沒有發佈代碼,因爲我正在尋找一個概念性的答案,而不是「爲什麼這行代碼不起作用」 - 如果我有道理...... P.S.我會看一些以前的答案。我不知道這個「接受」的概念。 – 2010-05-10 18:58:14

+0

在概念上聽起來不太錯。也許你應該按照建議發佈一些代碼。 – Andiih 2010-05-10 19:51:15

回答

0

OK,對於那些誰看到這一點,並有一個類似的問題...

這的確是一個「實例」的問題。我在IB中創建了第二個UIView。我想因爲我在那裏建立了連接,所以代碼在啓動時運行良好。

此修復程序是以編程方式創建子視圖並將其添加到主視圖。那樣只有一個例子。更新@generalize'd數組變量和隨後對drawRect的調用(通過setNeedsDisplay)進入輔助視圖的一個實例,這是我作爲子視圖添加到主視圖的一個實例。問題解決了。