UITableview移动时裁剪的单元格



我正在创建一个UITableview并应用transformation-M_PI_2,以便表视图水平滚动。

为了在水平模式下正确显示,每个单元也被旋转M_PI_2。当我用数据初始化它时,这些单元格是完美的。一切都很好。

现在,我将表视图的高度调整为原始高度的75%,并将其向下移动25%,上半部分单元格被隐藏(我已经在表视图上设置了clipsetobounds)。我使用函数setFrame: 调整uitableview的框架大小

即使在[tableview reload]之后,这种情况也不会改变。

既然父级(表视图)被移动并调整了大小,那么子级(单元格)不应该相对于它移动吗?

如果没有,正确的方法是什么:

  1. 填充用于水平滚动的uitableview和transform
  2. 根据用户输入调整框架大小
  3. 细胞也应该与uitableview的新框架对齐

当您应用这样的变换时,您正在旋转层,因此您需要了解CALayer几何体和UIView几何体之间的差异

Apples Layer Geometry文档很好地描述了这一点,但基本上我认为您需要调整视图层的锚点值

self.viewToRotate.layer.anchorPoint = CGPointMake(0.0f, 0.0f); //not sure of the actual value here

最新更新