如果相应的按钮是NSArray的元素,如何访问或分配UIButton标签



我目前正在执行一款简单的iOS纸牌游戏。我做了下面的操作来设置UIButton的按钮标签:

self.firstCardButton.tag = 1;

现在,我需要20个按钮而不是一个。因此,我使用一个包含所有按钮的数组,如:

self.buttonArray=@[self.firstCardButton,self.secondCardButton, ... ];

我想我以后会改进的。但现在我想问的问题是:

是否可以将标签分配给数组的元素?我尝试了以下操作,但没有成功:

[self.buttonArray objectAtIndex:0].tag = 1;

我的实际版本只是:

self.firstCardButton.tag = 1;
self.secondCardButton.tag = 2;
self.thirdCardButton.tag = 3;
self.fourthCardButton.tag = 4;
...

有谁知道如何以更好的方式写这个吗?

提前感谢!

您可以使用循环来迭代您的NSArray,并分配标记,如下所示:

for (int i = 0 ; i != buttonArray.count ; i++) {
    [[buttonArray objectAtIndex:i] setTag:i+1];
}

注意:我假设按钮不是通过UI Builder创建的,因为否则你将有机会通过在故事板/NIB文件中配置它们来设置它们的标签。

像这样做

for (int i = 0 ; i != array.count ; i++) {
UIButton *but=(UIbutton *)[array objectAtIndex:i];
butt.tag=i;
}

最新更新