I tested this code in ViewController using ObjC:
- (void)viewDidLoad { [super viewDidLoad];
And started the animation in viewDidAppear:
- (void)viewDidAppear:(BOOL)animated { NSLog(@"Previous center: %@", NSStringFromCGPoint(self.icon.center)); [UIView animateWithDuration:1.2 delay:1.0 options:0 animations:^{ NSLog(@"Before center: %@", NSStringFromCGPoint(self.icon.center)); CGAffineTransform transform = self.icon.transform; self.icon.transform = CGAffineTransformScale(transform, 0.5, 0.5); NSLog(@"After center: %@", NSStringFromCGPoint(self.icon.center)); } completion:^(BOOL finished){
And the center was the same in every challenge (60.60):
2012-09-24 10:22:11.776 ScaleView[19611:f803] Previous center: {60, 60} 2012-09-24 10:22:11.778 ScaleView[19611:f803] Before center: {60, 60} 2012-09-24 10:22:11.779 ScaleView[19611:f803] After center: {60, 60} 2012-09-24 10:22:13.979 ScaleView[19611:f803] Completion center: {60, 60}
Therefore, I would say no, this is not the expected behavior.
source share