以编程方式添加和删除未指定数量的UIImageviews

时间:2010-10-29 07:20:46

标签: iphone uiview uiimageview

我的应用程序是一个标准的赌场游戏,你赌赌场筹码。当用户点击芯片时芯片被添加到用于下注的芯片堆中。我这样做是通过添加一个UIImageView(稍微偏移以给出一堆芯片的外观)其他芯片(也是uiimageviews)。

UIImageView *addChip = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"chip"]];
addChip.opaque = YES;
addChip.frame = CGRectMake(131, 268, 57, 57);
[self.view addSubview:addChip];
[addChip release];

这堆筹码显然可以是任何数量的UIImageViews(取决于玩家放下的筹码数量)。当用户想从堆中移除筹码或玩家输掉赌注时,我如何知道要删除哪些子视图?

1 个答案:

答案 0 :(得分:1)

您可以通过tag属性访问图像。例如:您索引芯片

int numberOfCoins = 0; 

//add new coin
UIImageView *addChip =  ... 
addChip.tag = numberOfCoins; 
[self.view addSubview:addChip]

numberOfCoins++;

下次添加硬币时,您可以采用相同的方式。如果您想删除最后一枚硬币,可以使用标签访问图像视图并将其删除

[[self.view viewWithTag:numberOfCoins] removeFromSuperview];
numberOfCoins--;