Я создаю UIButton
и добавляю его выше UITabBar
, в пользовательский UITabBarController
.
var button = new UIButton(new CGRect(x, y, 50, 50));
button.Layer.BorderWidth = 2;
button.Layer.CornerRadius = button.Frame.Height / 2;
button.SetImage(UIImage.FromBundle("Name"), UIControlState.Normal);
this.View.AddSubview(button);
this.View.LayoutIfNeeded();
Когда я пытаюсь добавить преобразование вращения в представление изображения, оно не вращается вокруг центра и оси z, как я и ожидал (и встречается в каждой прочитанной документации).
Вместо этого он оживляет как-то иначе.
То же самое, независимо от того, добавляю ли я преобразование к ImageView
или его слою.
Это, например, поворот на 30 градусов (pi / 180 * 30
) и 10 градусов.
![enter image description here](https://i.stack.imgur.com/B8GbV.png)
![enter image description here](https://i.stack.imgur.com/QZr8Y.png)
Однако, когда я добавляю SublayerTransform
к слою кнопки, он преобразуется, как и ожидалось. Проблема с этим подходом состоит в том, что он не может быть анимирован с UIView.Animate
или CATransaction.Begin
.
Position
, AnchorPoint
и все остальное установлено по умолчанию. Я тоже пытался поиграть с этими свойствами, но безрезультатно.
Как видно из изображений, это знак +
, который должен анимироваться, чтобы стать x
.
Любая подсказка очень ценится.
3D-преобразования, которые я определил следующим образом:
CATransform3D.MakeRotation((float)(Math.PI / 180 * 45), 0, 0, 1)
и обычные такие:
CGAffineTransform.MakeRotation((float)(Math.PI / 180 * 45))