.xib中的许多UIButton具有不同的标签

时间:2012-05-16 10:37:29

标签: ios uibutton

我的xib中有17个按钮。我已将它们设置为1到17的标记值。

有人可以告诉我,如何在.h中使用单个变量名称连接所有17个按钮,并在.m中使用它的标记值获取特定按钮。

由于

4 个答案:

答案 0 :(得分:1)

根据我的经验,不可能。 IBOutlet即Interface Builder Outlet总是指接口组件(如按钮)和接口中的变量(如IBOutlet UIButton * myButton)之间的单个连接。这种一对一的关系。

答案 1 :(得分:1)

每个按钮需要IBOutlet,因此您需要创建所有17个按钮。将按钮单独连接到插座,然后如果需要将它们放入数组中,您就可以将它们放入初始化器内的数组中。

您可以使用IBAction方法保存:制作一个这样的方法

-(IBAction)buttonClicked:(id)sender {
}

您可以将此方法连接到所有按钮,然后查看(id)sender的标记,以确定哪个按钮称为您的操作。

答案 2 :(得分:1)

我刚试过这个,我知道如果你选择故事板中的所有按钮,并控制它们在助理编辑器中拖动到相应的控制器,你可以创建一个代表所有按钮的插座集合。结果代码是:

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;

答案 3 :(得分:0)

你不能给17个按钮提供一个参考,但你可以为17个按钮指定一个方法,比如@dasblinkenlight说

您必须将IBAction方法设置为所有按钮点击事件 并使用标签值,您可以访问您想要的按钮

-(IBAction)buttonClicked:(id)sender {

     int j = [sender tag];
     NSLog(@"Clicked Button %i", j);

}