我想以编程方式更改 UIButton,这可能吗?没有任何互动。
我可以以某种方式获取视图中的对象吗?如果我能得到它们,我可以遍历它们并得到我想要的 UIButton 并将其更改为我想要的。
我想以编程方式更改 UIButton,这可能吗?没有任何互动。
我可以以某种方式获取视图中的对象吗?如果我能得到它们,我可以遍历它们并得到我想要的 UIButton 并将其更改为我想要的。
是的,这是可能的。
如果您正在处理动态数量的按钮,那么您需要使用标签。插入您的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];
您可以使用引用插座选项卡部分将您的按钮从 xib 链接到其控制器。然后,您将获得对按钮的引用,因此您不必遍历所有子视图。只需选择您的 xib 并打开侧面实用程序菜单。选择您的按钮并单击实用程序菜单上的连接检查器。单击“新参考插座”旁边的圆圈并将其拖动到控制器的 .h 文件中。