2

我正在为 iOS 应用程序制作带有可展开/可折叠单元格的 UITableView。在那个应用程序中,我想显示一个向下箭头的图像,当点击它时,图像将是一个向上箭头。这可能吗?

这是我的代码

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (selectedIndex == indexPath.row)
    {
        selectedIndex = -1;
        [myContestTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
        return;
    }
    if (selectedIndex != -1)
    {
        NSIndexPath *prevPath = [NSIndexPath indexPathForRow:selectedIndex inSection:0];
        selectedIndex = indexPath.row;
        [myContestTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:prevPath] withRowAnimation:UITableViewRowAnimationFade];
    }
    selectedIndex = indexPath.row;
    [myContestTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}

这是我的名为“rotateImage”的图像。请帮我。这是我的可扩展单元格默认图像:

在此处输入图像描述

当用户单击单元格时,图像将是向上箭头,如果用户再次单击单元格,则默认图像应再次显示。

4

1 回答 1

4

如果你要继承你的子类,UITableViewCell你可以使用:setSelected: animated:,在那里添加你的配置。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    YOURIMAGEVIEW.transform = CGAffineTransformMakeRotation(selected ? M_PI : 0);

    // Configure the view for the selected state
}

如果没有,您只需在内部使用它-cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...
    YOURTABLECELL.yourImageView.tranform = CGAffineTransformMakeRotation((selectedIndex == indexPath.row) ? M_PI : 0);
    ...

    return tableCell;
}
于 2016-01-21T07:39:36.980 回答