移动tableview时裁剪UITableviewcell

时间:2012-08-28 13:45:09

标签: iphone objective-c ios ipad uitableview

我正在创建一个UITableview并应用转换-M_PI_2,以便tableview水平滚动。

每个单元格也通过M_PI_2旋转,以便在水平模式下正确显示。 当我用数据初始化它时,单元格是完美的。一切正常。

现在我将tableview高度调整为原始值的75%并将其向下移动25%,上半部分单元格被隐藏(我在tableview上设置了clipstobounds)。 我使用函数setFrame:

调整了uitableview的框架

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

由于父(tableview)被移动并调整大小,不应该相对于子移动子(单元格)吗?

如果没有,执行以下操作的正确方法是什么:

  1. 为水平滚动填充uitableview和tranform
  2. 根据用户输入调整框架大小
  3. 单元格也应该与uitableview的新框架对齐。

1 个答案:

答案 0 :(得分:1)

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

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

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