※ ChatGPTを利用し、要約された質問です(原文:Xcodeで開発してますが。。)
Xcodeで開発している際にCGAffineTransformMakeScaleの動きがおかしい
このQ&Aのポイント
Xcodeで開発している際に、CGAffineTransformMakeScaleの動きがおかしいです。ボタンが押されると、拡大/縮小のアニメーションをつけるプログラムを実行していますが、アニメーション中に位置がずれてしまいます。
CGAffineTransformMakeScaleでX方向/Y方向に2倍拡大はできるのですが、左上からの座標も指定した分だけずれてしまいます。button.centerを変更しても解決しません。
問題の原因がCGAffineTransformMakeScaleの仕様なのか、プログラム自体が問題なのかわかりません。対処方法を教えてください。
CGAffineTransformMakeScalの動きがおかしいです。
下記コード一部抜粋しています。5行目です。
Xcodeは Version 5.1.1 です
-----
ボタンが押されると、numericButtonPressedを実行し、途中で
[self animateButton:button];により拡大/縮小のアニメーションをつけるプログラムです。
-----
アニメーションでX方向/Y方向に2倍拡大はできるのですが、左上からの座標も指定した分だけ
ずれてしまいます。
button.center = CGPointMake(0, 0);を挿入したりしてもダメです。
CGAffineTransformMakeScaleの仕様なのか、プログラムがおかしいのかわかりません
どう対処すればよいか、教えてください。
◆◆◆◆コード一部抜粋
- (void)animateButton:(UIButton*)button {
[UIView animateWithDuration:1
animations:^{
// 位置までずれてしまう。。。
button.transform = CGAffineTransformMakeScale(2, 2);
}
completion:^(BOOL complete){
[UIView animateWithDuration:1
animations:^{
button.transform = CGAffineTransformIdentity;
}
];
}
];
}
- (IBAction)numericButtonPressed:(id)sender {
UIButton *button = (UIButton*)sender;
[self animateButton:button]; // 拡大/縮小のアニメーション
NSString *numericChar = button.titleLabel.text;
int number = [numericChar intValue];
if ([opString isEqualToString:@"="]) {
calcValue = 0;
opString = nil;
}
calcValue = calcValue * 10 + number;
opApplied = NO;
[self updateResultLabel];
}
◆◆◆◆
お礼
ありがとうございます!!解消しました! Auto Lauyoutとはなんでしょうか。。。ググってもよくわかりません