У меня есть одна проблема с CATransform3D.
У меня есть представление A, содержащее метку B. Положение слоя B — центр A. B используется для отображения уведомлений. Я хочу повернуть A на 180 градусов, конечно, текст в B будет перевернутым. Так что я тоже должен повернуть B на 180 градусов. Все кажется прямолинейным, и на самом деле в симуляторе все работает нормально.
Но когда я загрузил устройство, A и B повернулись, но положение B изменилось. Теперь я вижу только половину B, другая половина находится вне A.
Я предполагаю, что при вращении A, поскольку B связан с системой координат A, которая была перевернута на 180 градусов, местоположение B изменилось.
Но я хочу знать, есть ли у кого-нибудь идеи, как решить эту проблему, или есть ли у вас, ребята, лучшие способы подхода.
Большое Вам спасибо.
ОБНОВЛЕНИЕ
Я до сих пор не могу понять, почему позиция B смещается, но я придумал другой способ реализовать ту же анимацию. Немного сложно.
Ключ animation.autoreverse
, мы знаем, что когда вы поворачиваете суперпредставление метки с помощью Pi, текст в метке будет перевернут вверх ногами. Итак, что я сделал, так это повернул супервид на Pi/2, сохранил ту же продолжительность и установил autoreverse = YES
, что он сделает, так это повернет супервид на Pi/2, а затем повернет его обратно в исходное состояние. В результате получается, что вид вообще не поворачивается, но для зрения пользователя он вращается.