【发布时间】:2020-05-30 06:15:59
【问题描述】:
我想在 detailViewController 显示之前为 UITableViewCell 设置动画,如下图所示(单元格的尺寸变小)。我从过去两天开始尝试过,并尝试了我为类似问题找到的其他所有答案。
我希望一旦用户将手指放在 UITableViewCell 上,单元格就会设置动画/调整大小。
UITableViewCell 是一个自定义单元格。我尝试在 UITableViewCell 子类的 setSelected:(BOOL)selected animated:(BOOL)animated 方法中为 cell.contentView 设置一个新框架。 UITableViewCell 没有像我预期的那样调整大小。
我还观察到当用户从 UITableViewCell 抬起手指时调用此方法。实际上,我希望它在用户点击单元格时立即发生。如果未选择单元格并且用户移动到其他单元格,则单元格应重新调整为正常大小。
然后我做了一些关于从 UITableViewCell 接收触摸事件的搜索。我尝试添加一个UILongPressGestureRecognizer and UITapGestureRecognizer 并在选择器中尝试像这样更改 cell.contentView 框架
cell.contentView.frame = CGRectMake(cell.frame.origin.x +20, cell.frame.origin.y, cell.frame.size.width-20, cell.frame.size.height);
[cell setNeedsDisplay];
但是选定的单元格只是闪烁(单元格背景)它没有像我预期的那样调整大小。
任何建议都会很有帮助。在此先感谢
【问题讨论】:
标签: ios objective-c iphone uitableview