Я добавляю containerView в свое приложение. Этот вид представления и слой находятся в нормальной точке 0,0 и 320,480. Ничего интересного или другого.Почему CABasicAnimation не оживляет правильную точку?
Поэтому я добавляю его в свой вид, но я хочу анимировать его на экране через его слой. Опять ничего сумасшедшего. Но я хочу, чтобы этот вид/слой моего дополнительного представления находился в точке 20,160. Таким образом, 20 пикселей слева и половина пути вниз по окну (нижняя половина окна). Я думаю, я установил бы мой animateToPoint для CALayer равным 20 160. Но это не сработает.
Ниже представлен мой код, который позволяет оживить добавленный вид/слой до 20 пикселей слева и на полпути вниз по экрану. Проблема в том, что точка, которую я передаю, чтобы сделать ее 20,160 абсолютно неправильной, но она работает (мне пришлось перенести ее с помощью пробной ошибки). Мой вопрос: почему не работает 20 160 для точки CABasicaAnimation? Почему я должен вкладывать в такие большие количества?
// Place the container view
self.callDetailView.view.frame = CGRectMake(20, 163, 280, 263);
self.callDetailView.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:self.callDetailView.view];
[self addChildViewController:self.callDetailView];
[self.callDetailView didMoveToParentViewController:self];
[self.callDetailView configureDetails:[[STRequestManager sharedInstance] shouldGetCurrentRequest]];
CGPoint myNewEndPoint = CGPointMake(160.0, 263.0); // <-- I would think this should be 20,160
CABasicAnimation *slideIn = [CABasicAnimation animationWithKeyPath:@"position"];
slideIn.duration = 0.5;
[slideIn setToValue:[NSValue valueWithCGPoint:myNewEndPoint]];
[slideIn setFromValue:[NSValue valueWithCGPoint:CGPointMake(160.0, 663.0)]];
[[self.callDetailView.view layer] addAnimation:slideIn forKey:@"mySlideInAnimation"];
[[self.callDetailView.view layer] setPosition:myNewEndPoint];
// UPDATE
Теперь, когда я смотрю на 160,263 является вертикальной центральной точкой и горизонтальной центральной точка. Мое мнение, которое я добавляю, составляет 280, а половина - 140. 140 плюс мои 20 слева - 160. Использует ли CABasicAnimation анимировать центр?