iphone - 动画 UITableViewCell 高度和单元格 backgroundView

标签 iphone ios uitableview

我在使用带有自定义 drawRect:

的自定义 backgroundView 的自定义 UITableViewCell 时遇到问题

当用户选择我调用的单元格时

[tableView beginUpdates];
[tableView endUpdates];

并在 tableView:heightForRowAtIndexPath 中返回不同的高度。这使得单元格动画到它的新高度。

所有这一切都很有效,但我在调整 backgroundView 的大小时遇到​​了问题。目前 backgroundViews 内容在单元格动画时拉伸(stretch)。这不是我想要的,它看起来很糟糕。我希望 backgroundView 在动画期间重绘其内容。这可能吗?如果可能,如何实现?

我用下图说明了这个问题:

Illustration .

更新: 我发现这是发生了什么:

  1. 细胞开始时是一个大细胞。一切看起来都很好,每个人都很开心。
  2. 用户点击单元格。
  3. backgroundView 重绘到新的高度。
  4. 细胞开始事件并变小。因此背景 View 在动画期间处于拉伸(stretch)状态。

我更新了图像以反射(reflect)此行为。

最佳答案

您是否尝试过设置 View 的 contentMode?它默认为缩放行为。有关详细信息,请参阅 How to make a custom drawn UITableViewCell resize properly? .

关于iphone - 动画 UITableViewCell 高度和单元格 backgroundView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196294/

相关文章:

ios - NSLocale 大部分是空的 - 属性在哪里?

适用于 Xcode 7.3 的 iOS 10.1 平台

ios - 自定义类的 TableView 单元格返回 nil

ios - 保留循环关闭

objective-c - 几个TableView问题

iphone - 如何设置 UITableView 单元格 alpha?

objective-c - deleteRowsAtIndexPaths 动画覆盖上部单元格

iphone - 当上下文保存在核心数据中时,如何更改实体?

iphone - UISlider 自定义缩略图

iphone - 缩放后 ImageView 旋转表现怪异