私はプログラミングを始めたばかりで、ここまで来ましたが、しばらくこれに苦労しており、完全に立ち往生しています。2 つのデッキから 10x10 のトランプ ボードを作成しました。次に、以下の -(void)displayBoard ですべてのボタンを作成しました。各カードには、ボタンとして有効にするかどうかを保持する BOOL プロパティ card.button があります。
私はそれらをOKに切り替えており、すべて正常に動作しています。それらはアンタッチャブルから始まり、次にスイッチをオンにすると、(void)boardCardPressed が正しく呼び出されます。ただし、それらをオフにすると、グラフィカルにオフに見えますが、タッチすると (void)boardCardPressed が呼び出されます。ボタンのプロパティをログに記録すると、正しく設定されています。ターゲットを追加して削除しないことに関係していると思われますが、私が試したことはすべて違いはありません。
これに関するヘルプはどこにも見つからなかったので、アイデア、ヒント、またはヘルプをいただければ幸いです。ところで-私の試みは最もエレガントではないと思うので、そこにあるヒントも素晴らしいでしょう。カード画像を選択可能にする唯一の方法でした:)
-(void)displayBoard{
board = [model board];
for (int x = 0; x < 10; x++){
for(int y = 0; y < 10; y++){
Card *tCard = [board getCardxpos:x ypos:y];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.tag = tCard.tag;
button.enabled = tCard.button;
button.adjustsImageWhenDisabled = NO;
[button setImage:tCard.image forState:UIControlStateNormal];
button.frame = CGRectMake(tCard.xPos, tCard.yPos, tCard.sizeW, tCard.sizeH);
[button setImage:tCard.image forState:UIControlEventTouchUpInside];
[button addTarget:self action:@selector(boardCardPressed:) forControlEvents:UIControlEventTouchUpInside];
[(SequenceView *)self.view drawIt:button];
}
}
}
-(void)boardCardPressed:(id)sender {
int tid = ((UIControl*)sender).tag;
int x = tid / 10;
int y = tid%10;
Card *tCard = [[model board] getCardxpos:x ypos:y];
tCard.chosen = YES;
tCard.button = NO;
[self displayBoard];
}