0
A
回答
3
我想你想要的東西,如:
- (void)addLabelsFromSubviewsOf:(NSView *)view to:(NSMutableArray *)array
{
// get the label from this view, if it has one;
// I'm unsure what test you want here, maybe:
if([view respondsToSelector:@selector(stringValue)])
[array addObject:[view stringValue]];
// or possibly:
// if([view isKindOfClass:[NSTextField class]]) ?
// and traverse all subviews
for(NSView *view in [view subviews])
{
[self addLabelsFromSubviewsOf:view to:array];
}
}
...
NSMutableArray *array = [NSMutableArray array];
[self addLabelsFromSubviewsOf:[window contentView] to:array];
視圖可以有子視圖,所以它最終被一棵樹的步行路程。在這段代碼中,我只是使用簡單的遞歸來實現這一點。
相關問題
- 1. mozrepl:循環瀏覽所有窗口中的所有標籤頁Firefox瀏覽器
- 2. 循環瀏覽窗口對象中的所有項目
- 3. 是否有可能在瀏覽器窗口在Javascript循環中更新?
- 4. 循環瀏覽WPF/Powershell中的控件
- 5. 從所有瀏覽器窗口都可訪問Javascript對象?
- 6. 循環瀏覽GroupView的所有孩子?
- 7. VBScript循環瀏覽文件夾中的所有文件
- 8. 關閉所有瀏覽器窗口?
- 9. 可用NG單擊瀏覽器窗口
- 10. 彈出式窗口瀏覽器控件
- 11. XAML瀏覽器窗口控件
- 12. Selenium處理循環中的瀏覽器窗口
- 13. PHP腳本循環瀏覽目錄中的所有文件?
- 14. 循環瀏覽活動中的所有「小部件」/元素
- 15. 從其他窗口關閉所有子窗口瀏覽器
- 16. 是否可以從瀏覽器窗口中刪除所有鉻(非全屏)
- 17. 在循環中打開多個瀏覽器窗口。
- 18. 是否可以控制瀏覽器窗口滾動條的可見性?
- 19. 使js文件在瀏覽器調試窗口中不可見
- 20. 在MacOs上的CSS問題,在所有瀏覽器的窗口上都可以
- 21. Silverlight:FrameworkElement.FindName()在瀏覽器窗口中不可見時找不到控件
- 22. 是否可以在Tmux窗格中顯示瀏覽器窗口?
- 23. 是否有可能使用Javascript觸發瀏覽器的窗口?
- 24. Xcode窗口可以是「文檔」窗口而不是「瀏覽器」窗口嗎?
- 25. 瀏覽器如何或有可能跟蹤彈出式窗口
- 26. 循環瀏覽集合中的所有產品| SHOPIFY
- 27. 循環瀏覽場景中的所有對象/精靈
- 28. 調用文件上傳控件的瀏覽文件窗口
- 29. 使用WebSockets控制瀏覽器窗口
- 30. GeckoFX瀏覽器 - 控制新窗口
嗨湯米,謝謝,你的解決方案看起來不錯。當我嘗試使用NSWindow的contentView時,其子視圖實際上是空的,我無法訪問它上面的NSButton。你會幫忙嗎?謝謝 – shader 2012-01-14 17:33:11
這真的很奇怪。如果你NSLog的contentView你有什麼合適的? – Tommy 2012-01-14 17:46:45
輸出是 –
shader
2012-01-14 18:10:30