0

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

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

4

2 回答 2

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];
于 2012-10-30T17:52:53.767 回答
0

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

于 2012-10-30T17:50:33.133 回答