我没有实现一个笨重的,可能是错误的自定义表,而是使用了更简单的旋转表选项。当我决定,而不是初始化旋转内容时,我想要旋转单元本身并减少复杂单元格中的代码量。
以下行是在单元格配置后立即生效的。
这会导致每个单元在加载时旋转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是坏的等等(然后当我到达表的末尾时,它以完全合乎逻辑但完全不需要的模式改变)
中途还是后退,我不知道,但这就是我现在所拥有的。
答案 0 :(得分:0)
如果旋转是你唯一的变换,那你为什么不这样做呢,
cell.transform = CGAffineTransformMakeRotation(M_PI/2.0);
然后,
if ( !CGAffineTransformIsIdentity (cell.transform) ) {
// Rotated.
}