以编程方式获取UIButton

时间:2012-10-30 17:43:04

标签: objective-c xcode uibutton

我想以编程方式更改UIButton,这可能吗? 没有任何互动。

我可以以某种方式获取视图中的对象吗?如果我能得到它们,我可以遍历它们并获得我想要的UIButton并将其改为我想要的。

2 个答案:

答案 0 :(得分:3)

是的,这是可能的。

如果您正在处理动态数量的按钮,那么您需要使用标签。 插入UIButton(通过Interface Builder或以编程方式)时,可以为其分配标记。如同,view.tag = 6。这意味着您可以从超级视图中提取按钮的特定实例。

在实践中,您通常会通过以下方式添加按钮:

UIButton* btn = [UIButton alloc] initWithFrame:...];
....
[self.view addSubview:btn];

附加步骤是分配标记(如何跟踪标记取决于您)。

btn.tag = 44;

为了再次访问它,我可以从我的视图中提取它。

UIButton* btn = (UIButton*)[self.view viewWithTag:44];

这会产生我最初创建的相同实例。

如果您想要替换它,只需删除旧的,然后创建+添加新的。

[btn removeFromSuperview];
UIButton* btn2 = [UIButton alloc] initWithFrame:...];
...
[self.view addSubview:btn2];

答案 1 :(得分:0)

您可以使用引用插座标签部分从xib将按钮链接到其控制器。然后,您将获得对按钮的引用,因此您无需遍历所有子视图。只需选择您的xib并打开侧面实用程序菜单。选择您的按钮,然后单击实用程序菜单上的连接检查器。单击并将“新引用插座”旁边的圆圈拖动到控制器的.h文件中。