我在使用带有自定义 drawRect:
当用户选择我调用的单元格时
[tableView beginUpdates];
[tableView endUpdates];
并在 tableView:heightForRowAtIndexPath
中返回不同的高度。这使得单元格动画到它的新高度。
所有这一切都很有效,但我在调整 backgroundView 的大小时遇到了问题。目前 backgroundViews 内容在单元格动画时拉伸(stretch)。这不是我想要的,它看起来很糟糕。我希望 backgroundView 在动画期间重绘其内容。这可能吗?如果可能,如何实现?
我用下图说明了这个问题:
.
更新: 我发现这是发生了什么:
- 细胞开始时是一个大细胞。一切看起来都很好,每个人都很开心。
- 用户点击单元格。
- backgroundView 重绘到新的高度。
- 细胞开始事件并变小。因此背景 View 在动画期间处于拉伸(stretch)状态。
我更新了图像以反射(reflect)此行为。
最佳答案
您是否尝试过设置 View 的 contentMode
?它默认为缩放行为。有关详细信息,请参阅 How to make a custom drawn UITableViewCell resize properly? .
关于iphone - 动画 UITableViewCell 高度和单元格 backgroundView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196294/