0

UIView を拡張する TileView というクラスがあります。別のビューで、9 つの TileView オブジェクトを作成し、それらを画面に表示します。以下はそのうちの1つの例です

tile1 = [[TileView alloc]
             initWithFrame:CGRectMake(20,20, 100, 150)
             withImageNamed:@"tile1.png"
             value: 1
             isTileFlipped: NO];

ユーザーはどのタイルにも触れることができます。タイルに触れると「ひっくり返されます」 - 画像は無地の茶色のタイルに名前が付けられ、isTileFlipped「YES」に設定されます。今、私がこだわっている部分があります: 確認ボタンがあります。

確認ボタンが押されると、裏返されたすべてのタイルが取得され、それらが という配列に追加されacceptedTilesます。確認が押された後、タイルをacceptedTiles押したり操作したりできないことを確認する必要があります。これを行うための最良の方法は何であるかについて、私は途方に暮れています。ここtouchesBeganに何が起こっているのかを把握できるようにします。

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

int currentTileCount = [(BoxView *)self.superview getTileCount];
int currentTileValue = [self getTileValue];
int tilecount;

if (!isFlipped) {
    [image setImage:[UIImage imageNamed:@"tileflipped.png"]];
    isFlipped = YES;
    tilecount = currentTileCount + currentTileValue;
    [(BoxView *)self.superview setTileCount:tilecount];
    [(BoxView *)self.superview addToArray:self index:currentTileValue-1];
}

else {
    [image setImage:[UIImage imageNamed:imageNamed]];
    isFlipped = NO;
    tilecount = currentTileCount - (int)currentTileValue;
    [(BoxView *)self.superview setTileCount:tilecount];
    [(BoxView *)self.superview removeFromArray: currentTileValue-1];
}
}
4

2 に答える 2