0

我想为tableview的每个单元格设置动画。因此,如果我选择表格的一个单元格,那么只有该单元格会缩放并且看起来像翻转动画。

我有一些代码。但是如果我选择它,那么所有的表都会被翻转。不仅仅是一个细胞。

在这里,代码如下。

-(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

您可以尝试另一种解决方案。在创建单元格时创建一个 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 回答