Вместо того, чтобы реализовывать неуклюжую, потенциально подверженную ошибкам пользовательскую таблицу, я выбрал гораздо более простой вариант поворота таблицы. Проблема возникает, когда я решаю, что вместо инициализации повернутого содержимого я хочу повернуть саму ячейку и сократить объем кода в сложных ячейках.
Следующие строки идут сразу после конфигурации ячейки.
Это заставляет каждую ячейку поворачиваться на 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. Есть связанные вопросы, но в основном о таблицах и ориентации пользовательского интерфейса в портретной / альбомной ориентации, поэтому реализация противовращения несколько отличается.
EDIT
Если я переместлю cellRotated = YES
на viewDidAppear:
, каждая клетка, кроме одной, будет повернута. (И затем повторное использование ячеек делает так, что в этом случае каждая шестая ячейка остается одна.)
1-5 - это хорошо, 6 - плохо, 7 - 11 хорошо, 12 - плохо и т. Д. (И затем, когда я добираюсь до конца стола, он меняется совершенно логичным, но совершенно нежелательным образом)
На полпути или шаг назад, я не знаю, но это то, что у меня сейчас.