0

UIImageViewメインビューをタップするたびに動的に作成UIImageViewし、指の動きで作成したものをすべて移動したいです。コードをタッチするたびに動的に作成することに成功しました。

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];
    CGPoint pt = [touch locationInView:self.view];

    imgView = [[[UIImageView alloc] initWithFrame:CGRectMake(pt.x,pt.y, 100, 100)] autorelease];
    imgFilepath = [[NSBundle mainBundle] pathForResource:@"img" ofType:@"png"];
    img = [[UIImage alloc] initWithContentsOfFile:imgFilepath];
    imgView.tag=i;  
    [imgView setImage:img];
    [img release];
    [self.view addSubview:imgView];
}  

UIImageView次に、指の動きによって動的に作成されたものを移動したいと思います。ありがとう。

4

2 に答える 2

4

UIImageViewのuserInteractionEnabledプロパティを、作成するメソッド(つまり、投稿したメソッド)でyesに設定します。

imgView.userInteractionEnabled = YES;

次に、UIImageViewをサブクラス化し、次のメソッドを実装して画像ビューを移動する必要があります。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

ヒント:touchesMoved:などのメソッドでは、ユーザーの指がどこに移動したかを追跡する必要があります-おそらく使用することになるドキュメントをさらに読んだ後-[UITouch locationInView:]-座標をのスーパービューに変換する必要がありますこの場合、画像ビューを移動してから、画像ビュー自体を移動します。

于 2012-07-20T13:42:40.380 に答える
1

あなたが触れたことをtouchesBegan検出します。移動するタッチポイントの中心を設定して、選択しimageViewたものを移動します。touchesMovedimageView

于 2012-07-20T13:42:06.820 に答える