我想以编程方式更改uibutton,这可能吗?没有任何相互作用。
我可以以某种方式在视图中获取对象吗?如果我能得到他们,我可以通过它们迭代并获得我想要的Uibutton,然后将其更改为我想要的。
是的,这是可能的。
如果您要处理动态数量的按钮,则需要使用标签。在插入UIButton
(通过接口构建器或编程)时,您可以将其分配给标签。如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文件。