Я создал свой собственный движок анимации, и я хочу установить поворот представления пользовательского интерфейса для каждого кадра, который я визуализую (60 кадров в секунду)
Я сейчас сделал видео, показывающее, в чем проблема.
Он довольно близко, но он все еще вращается странным образом:
https://www.youtube.com/watch?v=1ZKK4r0-6i4
Я реализовал пользовательский класс CustomUIView, который наследуется от представления пользовательского интерфейса. Это имеет свойства трансляции, масштабирования и вращения, поэтому, когда я преобразую матрицу, все 3 происходят в одном и том же действии.
var t = CGAffineTransform( translationX: self.translation.x, y:
self.translation.y );
// Apply scaling
t = t.scaledBy( x: self.scaling.x, y: self.scaling.y );
// Apply rotation
t = t.rotated(by:self.rotation)
self.transform = t
и размер и ширина устанавливаются следующим образом:
view.frame.size.width = parseSize(value, axis: "width")
view.layer.bounds.size.width = parseSize(value, axis: "width")
Я пытаюсь установить оба этих свойства, но я не уверен, что это правильно.
Я установил опорную точку много, а также пробовал общую центральную точку представления.