基本上我想隐藏总是隐藏uiview(带按钮),直到触摸一个单元格然后它会从动画的底部带动动画(如果可能的话)
类似的东西:
我在一个应用程序中看到了它并爱上了它,并认为这将是一个很棒的用户体验。
请如何存档,欢呼
到目前为止代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *mycell=[tableView dequeueReusableCellWithIdentifier:@"cellIdentifier"];
if (mycell==nil) {
mycell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cellIdentifier"];
}
UIView *myview = [[UIView alloc] initWithFrame:CGRectMake(0, 25, 320, 50)];
[myview setBackgroundColor:[UIColor greenColor]];
[mycell.contentView addSubview:myview];
mycell.imageView.image = [UIImage imageNamed:@"placeholder.png"];
mycell.textLabel.text = @"Song Title";
UIFont *myFont = [ UIFont fontWithName: @"AppleSDGothicNeo-Bold" size: 12.0 ];
[mycell.textLabel setTextColor: [UIColor colorWithRed:0.839 green:0.271 blue:0.255 alpha:1]];
mycell.textLabel.font = myFont;
return mycell;
}
P.s myView是我要添加的视图,其中包含按钮。干杯!!!
答案 0 :(得分:1)
此选项要求您的UITableViewDelegate
和UITableViewDataSource
是同一个对象,通常就是这种情况。
UITableViewDelegate
的{{1}}中,您可以管理一系列选定的indexPath值,然后为刚刚选中/取消选择的行调用tableView:didSelectRowAtIndexPath:
。[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone]]
中,您可以检查当前indexPath是否在tableView:cellForRowAtIndexPath
方法管理的所选indexPath列表中,并采取相应的操作来显示/隐藏其他内容答案 1 :(得分:0)
试试这个
首先采用全局变量
NSInteger selectedIndex;
在viewDidLoad中插入此值-1;
selectedIndex = -1;
使用 didSelectRowAtIndexPath 函数在此变量中插入值。就像这样并重新加载动画。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
selectedIndex = indexPath.row;
//[tableViewObj reloadData];
[tableViewObj reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
并在 heightForRowAtIndexPath 函数中使用If / else来管理selectedIndex的高度..
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == selectedIndex) {
return 200;
}else{
return 80;
}
return 0;
}
正如我所见,已经在这里完全描述了..试试这个工作正常,因为它现在由我测试..