我想以编程方式更改UIButton,这可能吗? 没有任何互动。
我可以以某种方式获取视图中的对象吗?如果我能得到它们,我可以遍历它们并获得我想要的UIButton并将其改为我想要的。
答案 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文件中。