iOS выровнять UIView параллельно плоскости X-Z - PullRequest
1 голос
/ 04 августа 2011

Я понимаю, что по умолчанию UIView параллелен плоскости XY, а ось Z направлена ​​прямо на вас.

Как мне повернуть UIView так, чтобы он был параллелен плоскости XZ?Я думаю, что должен использовать CATransform3D, но не уверен, какой угол я должен дать ему?M_PI_2 или -M_PI_2?

У кого-нибудь есть идеи?Спасибо за помощь ...

РЕДАКТИРОВАТЬ: Я знаю, что при этом UIView не будет виден пользователю, но я хочу установить конкретный UIView этозатем сделайте анимацию вращения.Так вот чего я хочу ..

1 Ответ

1 голос
/ 04 августа 2011

Что вы, вероятно, хотите сделать, - это применить преобразование к фоновому слою представления. Свойство transform в UIView является аффинным преобразованием, не допускающим никаких трехмерных манипуляций. Но при доступе к view.layer.transform у вас есть полная матрица 4x4 для ваших нужд трансформации, позволяющая создавать забавные 3D-вещи.

  1. Добавьте QuartzCore.framework к вашей цели.
  2. Импорт <QuartzCore/QuartzCore.h> для получения доступа к CALayer API.
  3. Код отсутствует.

Например:

// Rotate 1/4 by the Y-axis.
myView.layer.transform = CATransform3DMakeRotation(M_PI_2, 0.0f, 1.0f, 0.0f);
...