0

你好我是 Xcode 的菜鸟,我想问

我有一组带有一张图片的 UIView

NSInteger i;
for (i=0; i<CARD_AMOUNT; i++) {
    [cardArray addObject:[UIImage imageNamed:@"Back.png"]];
}

我想绘制它,然后在每个(移动......等)上做不同的事情,
或者我必须创建 10 个 UIImageView 变量?

4

1 回答 1

0

可以对您尝试构建的应用程序进行更多解释,但本质上,如果您想在一个视图上显示许多不同的卡片(比如说,纸牌游戏) - 您将需要创建许多 UIImageViews。好吧,从纯粹的设计角度来看,您可能想要一个不同的类CardView,它知道如何呈现自己

所以,如果你想要一张图片有很多不同的视图,像这样:

for(int a=0; a<CARD_AMOUNT; a++) {
    UIImageView *view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Back.png"]];
    [cardArray addObject:view];
    // and maybe you'd want to set the frame locations, or add them to your current view as subviews, or .. 
}

为了解决评论,您的自定义 CardView 可能有这样的东西(有优化的方法,但一般概念还不错):

- (void)setRank: (int)rank andSuit:(int)suit {
    self.image = [UIImage imageNamed:[NSString stringWithFormat:@"card-%d-%d.png",rank,suit];
    self.rank = rank; self.suit = suit;
}

或者,更好的是(因为卡的等级不会改变)-某种initWithRank: andSuit:方法..不知道。

可能还有 10 种其他方法来设计它。

于 2013-02-06T01:24:48.977 回答