解決済み: 自動レイアウトをオフにして、スプリング ストラットを使用する
xib ファイルの 3 つの UIImageView オブジェクトを使用して実験している Pong タイプのゲームがあります。1 つの UIImageView は NSTimer オブジェクトを介して画面上を跳ね回るボールで、他の 2 つは「パドル」です。
ユーザーが画面をタップすると、ボールが動き始めます。指を上下にドラッグすると、右側のパドルが移動します。パドルは 10x60 PNG ファイルを背景として使用します。ユーザーがボールを動かしながら画面をタップすると、視覚効果としてパドルの背景を一時的に変更したいと考えました。問題は、パドルの背景を変更すると、画面上の UIImageViews の位置がリセットされるように見えることです。背景が変更されたときにビューまたは何かをリセットするiOSの難解なプロパティがありますか、それとも間違っていますか?
.h ファイル
@property (weak, nonatomic) IBOutlet UIImageView *paddleLeft;
@property (weak, nonatomic) IBOutlet UIImageView *paddleBall;
@property (weak, nonatomic) IBOutlet UIImageView *paddleRight;
.m ファイル
@synthesize paddleRight;
@synthesize paddleLeft;
@synthesize paddleBall;
...
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog (@"touches began");
if (self.paused)
{
self.paused = NO;
NSLog (@"ball launch");
}
else
{
// hilite the paddle with different 10x60 image
self.paddleRight.image = [UIImage imageNamed:@"rect_2.png"];
}
}