你好我是 Xcode 的菜鸟,我想问
我有一组带有一张图片的 UIView
NSInteger i;
for (i=0; i<CARD_AMOUNT; i++) {
[cardArray addObject:[UIImage imageNamed:@"Back.png"]];
}
我想绘制它,然后在每个(移动......等)上做不同的事情,
或者我必须创建 10 个 UIImageView 变量?
你好我是 Xcode 的菜鸟,我想问
我有一组带有一张图片的 UIView
NSInteger i;
for (i=0; i<CARD_AMOUNT; i++) {
[cardArray addObject:[UIImage imageNamed:@"Back.png"]];
}
我想绘制它,然后在每个(移动......等)上做不同的事情,
或者我必须创建 10 个 UIImageView 变量?
可以对您尝试构建的应用程序进行更多解释,但本质上,如果您想在一个视图上显示许多不同的卡片(比如说,纸牌游戏) - 您将需要创建许多 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 种其他方法来设计它。