0

私のiPhoneアプリでは、タッチイベントで遊びたいです。ここで私の要件は図に示すとおりです。

ここに画像の説明を入力

のイベントで作成Button 2しています。ここにコードがありますtouch drag ExitButton 1

 -(IBAction)addView:(id)sender{

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.tag=count;
count++;
    [button addTarget:self action:@selector(imageTouch:withEvent:) forControlEvents:UIControlEventTouchDown];
    [button addTarget:self action:@selector(imageMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];
    [button addTarget:self action:@selector(imageTouchCancel:withEvent:) forControlEvents:UIControlEventTouchUpInside];

button.frame=CGRectMake(shape1.frame.origin.x-30,shape1.frame.origin.y-40, 100, 100);

   [button setImage:[UIImage imageNamed:imgname] forState:UIControlStateNormal];
   [button addSubview:close];
  [baseview addSubview:button];

 }

ここでボタン 2 を正常に作成できますが、問題はボタン 2 をシングル タッチ イベントでドラッグして移動できないことです。つまり、ボタン 1 を外側にドラッグするとボタン 2 が作成されますが、ボタン 2 を移動するには指を使わなければなりません。画面から離れてボタン2を次にタッチすると、ボタン2を移動できます。

私の質問は、ボタン 2 を作成し、シングル タッチ サイクルで画面上を移動する方法ですか?

4

1 に答える 1

1

ボタン UserInteraction を無効にし、次のコードを使用します。

[button2 setUserInteractionEnabled:NO];

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
button2.center = location;
}


-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[self touchesBegan:touches withEvent:event];
 }

ビュー上で画像をドラッグするためのサンプル コード

うまくいけば、これはあなたを助けるでしょう

于 2012-04-30T12:45:25.600 に答える