1

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

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

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

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

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

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

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

1 回答 1

1

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

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

self.viewToRotate.layer.anchorPoint = CGPointMake(0.0f, 0.0f); //not sure of the actual value here
于 2012-08-28T13:56:59.780 回答