是否可以使用标记访问窗口上的所有gui组件

时间:2011-10-18 09:34:24

标签: cocoa

我希望使用标签访问窗口上的所有gui组件。 但我发现有些组件在窗口的子视图中,所以

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

将返回0x0,我必须将按钮的超级视图从“self.window.contentView”更改为包含NSButton的子视图

是否有使用标签访问窗口上所有gui对象的一般方法,当我使用

时,它将识别并设置每个gui组件的正确超级视图
NSObject *a=(NSObject*)[recognizedSuperView viewWithTag:tag];

访问它们?

1 个答案:

答案 0 :(得分:1)

viewWithTag:仅返回具有标记集的直接子视图。如果要导航视图层次结构,那么应该实现递归方法,但要注意,您可以在树中的许多可能位置找到相同的标记值。