ラベル (instructionLabel) を展開して移動し、元のサイズに戻しましたが、新しい位置に残しました。
[UIView animateWithDuration:0.5
animations:^{
CGAffineTransform scale = CGAffineTransformMakeScale(2.0, 2.0);
CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, -70.0); // up 70
self.instructionsLabel.transform = CGAffineTransformConcat(scale,translate);
}
completion:^(BOOL finished) {
[UIView animateWithDuration:0.25
animations:^{
CGAffineTransform scale = CGAffineTransformMakeScale(1.0,1.0);
CGAffineTransform translate = CGAffineTransformMakeTranslation(0,-70.0); //left in place up 70
self.instructionsLabel.transform = CGAffineTransformConcat(scale, translate);
}
completion:^(BOOL finished) {}
];
後で、明示的に CGPointMake を使用してラベルを元の位置に戻しますが、ラベルは翻訳された位置 (元の位置から 70 ポイント上) のままです。
instructionsLabel.frame = CGRectMake(384, 601, 655, 40);
//Adding this doesn't make any difference, in or out.
instructionsLabel.center=CGPointMake(384, 601);
Breaks と NSLog で、CGPointMake ステートメントと CGRectMake ステートメントに到達したことを確認しました...そのアフィン変換の後、それらは機能しません。誰かが理由を知っていますか?(変換ルーチンの直後にラベルを戻したくはありませんが、CGPointMake ルーチンがそれを行わない理由がわからない場合は、そうする必要があるかもしれません。)
提案をありがとう。-ロブ