我已经将UITableViewCell子类化了。我想要的是当我点击单元格时,我在单元格的底部添加了一个UIView并相应地调整单元格的高度。这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MyCell* cell = (MyCell *) [self.table cellForRowAtIndexPath:indexPath];
UIView * options = [[UIView alloc] initWithFrame:CGRectMake(0, cell.frame.size.height - 27, cell.frame.size.width, 27)];
UIButton* button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button1];
UIButton* button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button2];
UIButton* button3 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button3];
//did some layout calculation here to position the button
[cell addSubview:options];
}
这是一个说明问题的video
此外,我尝试将我的单元的accessoryView从我的自定义UIButton更改为常规UITableViewCellAccessoryDisclosure,但它不起作用
MyCell * cell = (MyCell *)[self.table cellForRowAtIndexPath:temp];
[cell.accessoryView removeFromSuperview];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
如果你好奇我想要做什么,我正在尝试创建一个tweetbot uitableviewcell,你按下单元格/行,它会显示其他选项(转推等),并且它也显示为动画。
答案 0 :(得分:2)
我不知道我是否正确理解你要做的事情。但是如果您想要为UITableViewCell高度的变化设置动画,请尝试在- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath内进行调整并调用
[tableView beginUpdates];
[tableView endUpdates];
答案 1 :(得分:0)
将控件放入另一个单元格并使用
insertRowsAtIndexPaths:withRowAnimation:
显示它和
deleteRowsAtIndexPaths:withRowAnimation:
隐藏它。