0

こんにちは、私は Xcode の初心者です。

1つの画像を持つUIViewの配列があります

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

そして、それを描画してから、それぞれで異なることをしたい(移動...など)
、またはUIImageViewの10個の変数を作成する必要がありますか?

4

1 に答える 1

0

構築しようとしているアプリについてもう少し説明を加えることができますが、基本的に、1 つのビュー (たとえば、ソリティア ゲーム) に多くの異なるカードを表示したい場合は、多数の UIImageView を作成する必要があります。まあ、純粋なデザインの観点からは、おそらく、CardView自分自身をレンダリングする方法を知っている別のクラスが必要になるでしょう

したがって、多くの異なるビューをすべて 1 つの画像で表示したい場合は、次のようになります。

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 に答える