Поскольку параметр здесь
CATransform3DScale (CATransform3D t, CGFloat sx, CGFloat sy, CGFloat sz)
Если вы хотите, чтобы перевернуть горизонтально, вы не должны предоставлять какие-либо значение вектора в CATransform3DMakeRotation (). Вместо этого вы хотите просто контролировать масштаб оси x.
По листать горизонтально вы должны:
self.transform = CATransform3DScale(CATransform3DMakeRotation(0, 0, 0, 0),
-1, 1, 1);
Если вы хотите, чтобы перевернуть его обратно происхождения, вы делаете:
self.transform = CATransform3DScale(CATransform3DMakeRotation(0, 0, 0, 0),
1, 1, 1);
Дополнение:
Сокращенный вариант сэкономит вам одну операцию , Переворот:
self.transform = CATransform3DMakeRotation(M_PI, 0, 1, 0);
Чтобы перевернуть в нормальное состоянии:
self.transform = CATransform3DMakeRotation(0, 0, 1, 0);
Можете ли вы объяснить более текущий результат у вас есть руки желаемого результата? – sch
Его просто нужно перевернуть горизонтально, не уверен, как еще объяснить это! –