0

テーブルビューの各セルにアニメーションを設定したい。したがって、テーブルのセルを選択すると、セルだけが拡大縮小され、フリップオーバーアニメーションのように見えます。

私はいくつかのコードを持っています。しかし、それを選択すると、すべてのテーブルが反転します。細胞だけではありません。

ここでは、コードは次のとおりです。

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    [tableView deselectRowAtIndexPath:indexPath : YES ];
    [UIView transitionFromView:cell toView:checkProjectView duration:1.0f options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL];
    [UIView commitAnimations];
}

どうすれば実装できますか?

そして、私はこのサンプルで2つのビューを持っています。私を助けてください。

4

1 に答える 1

0

あなたが試すことができる1つの代替解決策があります。セルの作成中にUIViewオブジェクトを作成します。そのビューの外観は、セルの外観のようになります。次に、セルのコンテンツビューをそのビューに設定します。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // See if there's an existing cell we can reuse
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Foobar"];
    if (cell == nil) {
        // No cell to reuse => create a new one
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Foobar"] autorelease];

    }

    // Customize cell
    [cell.contentView addSubview:customView]; // customView is your view which you want to set

    return cell;
}

次に、このCustomViewのアニメーションコードを使用します。

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    [tableView deselectRowAtIndexPath:indexPath : YES ];
    [UIView transitionFromView:[cell.contentView viewWithTag:#tagof view here] toView:checkProjectView duration:1.0f options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL];
    [UIView commitAnimations];
}
于 2012-06-02T06:08:20.900 に答える