こんにちは、以下のコードで使用する CABasicAnimation を使用してフレーム サイズを変更しました
CABasicAnimation *newanim;
newanim = [CABasicAnimation animationWithKeyPath:@"bounds.size"];
newanim.duration=3.0;
newanim.fromValue=[NSValue valueWithCGSize:CGSizeMake(0,0)];
newanim.toValue=[NSValue valueWithCGSize:CGSizeMake(self.backgroundImageView.bounds.size.width, self.foregroundImageView.bounds.size.height)];
newanim.fillMode=kCAFillModeForwards;
newanim.autoreverses = YES;
newanim.repeatCount = 1;
newanim.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
[self.view.layer addAnimation:newanim forKey:@"changeSize"];
ただし、アニメーションは原点から開始され、両側に移動します(アニメーションが中央から開始するように)。
newanim = [CABasicAnimation animationWithKeyPath:@"frame.size"]; を変更してみました。
まったく機能しません。