2011-10-18 91 views
0

我希望使用標籤訪問窗口上的所有GUI組件。 但我發現,一些組件是在窗口的子視圖,所以是否有可能使用標籤訪問窗口上的所有GUI組件

NSButton *aButton=(NSButton*)[self.window.contentView viewWithTag:tag]; 

將恢復爲0x0,我必須從「self.window.contentView」按鈕的超視圖更改爲包含子視圖NSButton

是否有訪問使用標籤,它可以識別並設置每個GUI組件的正確超級視圖時,我使用

NSObject *a=(NSObject*)[recognizedSuperView viewWithTag:tag]; 

訪問它們在窗口上所有GUI對象的一般方法是什麼?

+0

你爲什麼需要這個?你知道什麼網點,是嗎? – hamstergene

+0

就我個人而言,我可以想象可能會創建任意數量的自定義視圖的情況,並希望通過標記來識別它們。事實上,一個常見的例子就是創建一個可滾動的圖像瀏覽器 - 許多UILabel作爲標題,以此類推。 –

回答

1

viewWithTag:只返回具有標記集的直接子視圖。如果你想瀏覽視圖層次結構,那麼你應該實現遞歸方法來做到這一點,但要注意,你可以在樹中的許多可能位置找到相同的標籤值。

相關問題