Я пытаюсь сделать масштабное кольцо, которое масштабируется в центре UIView.
Установки следующие:
В IB у меня есть вид и мой ImageView, прикрепленный к нему (просто прозрачный PNG с кольцом).
Установите IBOutlet для ImageView (theRing) и кнопку для запуска действия.
ImageView установлен в «scaleToFill» в IB.
Код действия:
-(IBAction)buttonPressed:(id)sender{
CGRect theFrame = theRing.frame;
theFrame.size.width = 16;
theFrame.size.height = 16;
[theRing setFrame:theFrame]; //Scale down the ring first
theRing.center = [self.view center]; // Center the ring in the center of the view
theFrame.size.width = 300;
theFrame.size.height = 300;
[theRing setAlpha:1.0];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[theRing setFrame: theFrame];
[theRing setAlpha:0.0];
theRing.center = [self.view center];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector: @selector(animEnd:finished:context:)];
[UIView commitAnimations];
}
Теперь - когда я нажимаю кнопку в первый раз, изображение масштабируется с контрольной точкой, являющейся верхним левым углом ImageView (это означает, что оно масштабируется, но кольцо расширяется в правом нижнем углу экрана). 1012 *
НО: когда я снова нажимаю кнопку, все работает как положено (значит, кольцо остается в центре экрана и масштабируется).
Есть идеи?