0
問題があります。 2つのUIButtonsとUIImageViewを使って、私のビューです。ボタンが押されたときに画像を移動したいときは、触れていないときにUIImageを停止したい。しかし、私はこれがどのように機能するのか分かりません。多分あなたは私を助けることができます。ここに私のコードは次のとおりです。UIButtonを保持+オブジェクトを移動
- (void)viewDidLoad
{
currentPositionx = 150.0;
currentPositiony = 150.0;
currentSizex = 147.0;
currentSizey = 146.0;
currentSpeed = 0.70;
contentView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
[contentView setImage:[UIImage imageNamed:@"BlackScreen.png"]];
[contentView setUserInteractionEnabled:YES];
[contentView setMultipleTouchEnabled:YES];
self.view = contentView;
[contentView release];
// create the view that will execute our animation
currentPlayer = [[UIImageView alloc] initWithFrame:CGRectMake(currentPositionx, currentPositiony, currentSizex, currentSizey)];
// load all the frames of our animation
currentPlayer.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"RunnerRED_0.png"],
Nil];
currentPlayer.animationDuration = currentSpeed;
currentPlayer.animationRepeatCount = 0;
[currentPlayer startAnimating];
[self.view addSubview:currentPlayer];
[currentPlayer release];
UIButton *GoLeftButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(20, 263, 64, 64)];
[GoLeftButton addTarget:self action:@selector(GoLeft:) forControlEvents:UIControlEventTouchUpInside];
[GoLeftButton setBackgroundImage:[UIImage imageNamed:@"Arrow Left RED.png"] forState:UIControlStateNormal];
[self.view addSubview:GoLeftButton];
UIButton *GoRightButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(100, 263, 64, 64)];
[GoRightButton addTarget:self action:@selector(GoRight:) forControlEvents:UIControlEventTouchUpInside];
[GoRightButton setBackgroundImage:[UIImage imageNamed:@"Arrow Right RED.png"] forState:UIControlStateNormal];
[self.view addSubview:GoRightButton];
}
-(void)GoLeft:(id)sender
{
CGRect frame = currentPlayer.frame;
frame.origin.x = frame.origin.x - 10;
currentPlayer.frame = frame;
currentPlayer.transform = CGAffineTransformIdentity;
currentPlayer.transform = CGAffineTransformMakeScale(-1.0, 1.0);
}
-(void)GoRight:(id)sender
{
CGRect frame = currentPlayer.frame;
frame.origin.x = frame.origin.x + 10;
currentPlayer.frame = frame;
currentPlayer.transform = CGAffineTransformIdentity;
currentPlayer.transform = CGAffineTransformMakeScale(1.0, 1.0);
}
@end
私はあなたが私に私はあなたがUIControlEventTouchDown
、UIControlEventTouchUpInside
とUIControlEventTouchUpOutside
イベントを利用する必要があると考えてい
THX
これはうまくいきますが、UIButtonを押したままにすると、UIImageは1ステップだけ左に移動しますが、イメージを永久に移動したかったのです。 –
答えを更新しました。 –