【问题标题】:Add and removing a unspecified number of UIImageviews programmatically以编程方式添加和删除未指定数量的 UIImageview
【发布时间】:2010-10-29 07:20:46
【问题描述】:

我的应用是一个标准的赌场游戏,您可以在其中下注赌场筹码。当用户点击筹码时,筹码将被添加到用于下注的筹码堆中。为此,我在其他芯片(也是 uiimageviews)的顶部(稍微偏移以呈现出一堆芯片的外观)添加一个 UIImageView。

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

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

【问题讨论】:

    标签: iphone uiview uiimageview


    【解决方案1】:

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

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

    下次你添加硬币时,你可以用同样的方法。如果你想删除最后一个硬币,你可以访问带有标签的图像视图并将其删除

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

    【讨论】:

    • 我试过了,但是如果你使用已经分配的标签(由界面生成器),比如 0 它会删除这两个东西。所以为了阻止这变得混乱,我只是将图像视图添加到一个可变数组并使用它来代替
    猜你喜欢
    • 2012-11-30
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多