我在xib文件上有大约10个UIButtons,并希望以编程方式设置文本
答案 0 :(得分:60)
下次提问时,您可能希望更具体。
您可以尝试为界面构建器中的每个按钮分配不同的标记(如果需要,可以使用相同的标记),然后使用以下代码
for (int i = 1 ; i<=10;i++)
{
UIButton *myButton = (UIButton *)[myView viewWithTag:i];
[myButton setTitle:@"my text" forState:UIControlStateNormal];
}
答案 1 :(得分:3)
在Swift 3+中:
button.setTitle("Button Title", for: .normal)
否则:
button.setTitle("Button Title", forState: UIControlState.Normal)
答案 2 :(得分:2)
我认为您可以在布局中创建一系列按钮:
然后你应该为Connection类型选择“Outlet Collection”并指定一个名字:
然后在您的代码中,您有一个来自xib文件的按钮数组:
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;
接下来,在创建的集合上选择并拖动其他按钮,按照要迭代的顺序逐个执行:
现在设置每个按钮文字:
for (int i = 0; i<self.buttons.count; i++) {
UIButton * button = self.buttons[i];
[button setTitle: [NSString stringWithFormat:@"Button %d",i ] forState:UIControlStateNormal];
}
请注意,UIControlStateNormal是默认状态,如果没有覆盖,它将显示所有状态:
通常,如果没有为状态指定属性,则默认使用UIControlStateNormal值。如果未设置UIControlStateNormal的值,则该属性默认为系统值。因此,您至少应该设置正常状态的值。
我希望有帮助