我在xib文件上有大约10个UIButtons,我想用编程的方式设置文本。
你下次问问题的时候可能要更具体一些。
你可以尝试在界面生成器中为每个按钮分配一个不同的标签(如果你需要的话,也可以使用相同的标签),然后使用下面的代码。
for (int i = 1 ; i<=10;i++)
{
UIButton *myButton = (UIButton *)[myView viewWithTag:i];
[myButton setTitle:@"my text" forState:UIControlStateNormal];
}
我想你可以从你的布局中创建一个按钮的集合。
从你的xib中选择第一个按钮 然后把它和正确的按钮一起拖到你的代码中去。
然后你应该选择 "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 的值,则该属性默认为系统值。因此,至少应该设置正常状态的值。
希望对你有所帮助
在Swift 3+中。
button.setTitle("Button Title", for: .normal)
否则
button.setTitle("Button Title", forState: UIControlState.Normal)