Поверните UITableViewCell внутри повернутого UITableView - PullRequest
0 голосов
/ 26 мая 2011

Вместо того, чтобы реализовывать неуклюжую, потенциально подверженную ошибкам пользовательскую таблицу, я выбрал гораздо более простой вариант поворота таблицы. Проблема возникает, когда я решаю, что вместо инициализации повернутого содержимого я хочу повернуть саму ячейку и сократить объем кода в сложных ячейках.

Следующие строки идут сразу после конфигурации ячейки.

Это заставляет каждую ячейку поворачиваться на 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 - плохо и т. Д. (И затем, когда я добираюсь до конца стола, он меняется совершенно логичным, но совершенно нежелательным образом)

На полпути или шаг назад, я не знаю, но это то, что у меня сейчас.

1 Ответ

0 голосов
/ 27 мая 2011

Если вращение - единственное преобразование, которое вы делаете, то почему бы вам просто не сделать это,

cell.transform = CGAffineTransformMakeRotation(M_PI/2.0);

, а затем,

if ( !CGAffineTransformIsIdentity (cell.transform) ) {
    // Rotated.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...