【发布时间】:2012-04-20 03:13:00
【问题描述】:
我有一个关于 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,然后将其旋转回初始状态。结果证明视图根本没有旋转,但是对于用户的视觉来说,它是旋转的。
【问题讨论】:
标签: ios catransform3d