在旋转的UITableView中旋转UITableViewCell

时间:2011-05-26 13:25:33

标签: objective-c uitableview rotation

我没有实现一个笨重的,可能是错误的自定义表,而是使用了更简单的旋转表选项。当我决定,而不是初始化旋转内容时,我想要旋转单元本身并减少复杂单元格中的代码量。

以下行是在单元格配置后立即生效的。

这会导致每个单元在加载时旋转90°,无论方向如何:

cell.transform =
      (CGAffineTransform)CGAffineTransformRotate(cell.transform, (M_PI / 2.0));

cellRotated = YES;

此选项仅旋转第一个单元格一次,但保留旋转:

if (!cellRotated) {
    cell.transform =
      (CGAffineTransform)CGAffineTransformRotate(cell.transform, (M_PI / 2.0));

    cellRotated = YES;
}

可以使用现有功能(或其设置)跟踪单元格方向吗?

我在Google上找不到任何相关信息。有相关问题,但主要是表格和纵向/横向UI方向,因此反向旋转实现有点不同。


修改

如果我将cellRotated = YES移动到viewDidAppear:除了一个旋转之外的每个单元格。 (然后细胞再利用使得在这种情况下,每隔六个细胞就可以单独使用。)
1-5是好的,6是坏的,7-11是好的,12是坏的等等(然后当我到达表的末尾时,它以完全合乎逻辑但完全不需要的模式改变)

中途还是后退,我不知道,但这就是我现在所拥有的。

1 个答案:

答案 0 :(得分:0)

如果旋转是你唯一的变换,那你为什么不这样做呢,

cell.transform = CGAffineTransformMakeRotation(M_PI/2.0);

然后,

if ( !CGAffineTransformIsIdentity (cell.transform) ) {
    // Rotated.
}