Iphone UIButton以编程方式设置文本

Iphone UIButton以编程方式设置文本,iphone,uibutton,Iphone,Uibutton,我在xib文件上有大约10个UIButton,希望以编程方式设置XT。下次提问时,您可能希望更具体一些 您可以尝试为interface builder中的每个按钮指定不同的标记(如果需要,也可以指定相同的标记),然后使用以下代码 for (int i = 1 ; i<=10;i++) { UIButton *myButton = (UIButton *)[myView viewWithTag:i]; [myButton setTitle:@"my text" forSt

我在xib文件上有大约10个UIButton,希望以编程方式设置XT。下次提问时,您可能希望更具体一些

您可以尝试为interface builder中的每个按钮指定不同的标记(如果需要,也可以指定相同的标记),然后使用以下代码

for (int i = 1 ; i<=10;i++)
{
     UIButton *myButton = (UIButton *)[myView viewWithTag:i];
     [myButton setTitle:@"my text" forState:UIControlStateNormal];
}

for(int i=1;i我认为您可以从布局中创建一组按钮:

从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];
}
在Swift 3+中(int i=0;i)的

button.setTitle("Button Title", for: .normal)
否则:

button.setTitle("Button Title", forState: UIControlState.Normal)

这正是我要寻找的…一个问题是myview是否是xib文件的实例?我假设您的NIB是用于UIViewController的,因此如果此代码在UIViewController代码中,myview应该是ViewView,或者更准确地说,myview必须是按钮的父视图任何人都想知道这样做是否更好,还是只做一些iIB中带有IBOutlets的nstance变量?这取决于您的目标。如果所有按钮都有不同的名称和功能,那么IBOutlets可能是正确的选择。