У меня есть UIView, который равен 10 на 10, повернутый на 45 градусов, чтобы создать форму бриллианта.Анимация с поворотом UIView приводит к ее исчезновению
Вот код, который вращает вид:
triangle = [[UIView alloc] initWithFrame:CGRectMake(35, kUserViewHeight - 5, 10, 10)];
triangle.backgroundColor = [UIColor coolBlue];
//triangle.center = CGPointMake(5.0, 5.0);
triangle.transform = CGAffineTransformMakeRotation(M_PI_2/2);
Я нарочно закомментировал центральное значение, поскольку это ухудшит установку расположения зрения. Я полностью понимаю, что это, вероятно, проблема.
Вид прекрасно отображается, но когда я одушевляюсь, вид перемещается туда, где его предполагается, но по дороге он исчезает. Когда я избавляюсь от свойства triangle.transform, вид прекрасно анимируется и не исчезает, но, очевидно, это просто квадрат вместо алмаза.
Вот код анимации:
[UIView animateWithDuration:kAnimationInterval animations:^{
triangle.frame = CGRectMake(115, kUserViewHeight - 5, 10, 10);
}];
Потому что я планирую переместить ромб вокруг, установив центр становится проблематичным. Как я могу поворачивать представление, а затем анимировать его по экрану без его исчезновения? Есть ли какой-то особый способ вычислить точку центра именно там, где мне это нужно? Благодаря!