Objective-c CATransform3DMakeRotation по часовой стрелке/против часовой стрелки

Я вращаю UIView вдоль оси x, используя CATransform3DMakeRotation, используя приведенный ниже код:

  float radians = DegreesToRadians(30);
    [UIView animateWithDuration:0.15 animations:^{  
        self.moveControlView.layer.transform = CATransform3DMakeRotation(radians,1,0,0);
    }];

Поворот всегда применяется в одном и том же направлении (по часовой стрелке). Я хочу повернуть UIView в противоположном направлении. Для достижения своей цели я пробовал:

  • Установите отрицательный угол (-30)
  • Установите угол на 330

Но противоположность ориентации не меняется.

Я также попытался установить x = -1, оставив угол положительным.

Любое предложение?


person chiarotto.alessandro    schedule 06.12.2014    source источник


Ответы (1)


Вы должны применить перспективу к своему преобразованию, как это объясняется в аналогичном вопросе:

CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = 1.0 / -500;

self.moveControlView.layer.transform = 
CATransform3DRotate(perspectiveTransform, radians, 1.0f, 0.0f, 0.0f);;
person Vadim Kosov    schedule 12.12.2014