これはかなり一般的な質問ですが、いくつかの答えがあり、ほぼそこにいます。押すと画像が作成されるボタンがあります(次のコード)
(numImages はロード時にゼロに設定され、作成されたすべてのイメージのタグ番号のカウントアップとして使用されます)
UIImage *tmpImage = [[UIImage imageNamed:[NSString stringWithFormat:@"%i.png", sender.tag]] retain];
UIImageView *myImage = [[UIImageView alloc] initWithImage:tmpImage];
numImages += 1;
myImage.userInteractionEnabled = YES;
myImage.tag = numImages;
myImage.opaque = YES;
[self.view addSubview:myImage];
[myImage release];
次に、タッチされたものを検出する touchesBegan メソッドがあります。私がする必要があるのは、ユーザーが新しく作成された画像をドラッグできるようにすることです。ほとんど機能していますが、ドラッグすると画像がちらつきます。クリックした画像はタグで取得できるのでアクセスできますが、うまくドラッグできません。
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
if (touch.view.tag > 0) {
touch.view.center = location;
}
NSLog(@"tag=%@", [NSString stringWithFormat:@"%i", touch.view.tag]);
}
- (void) touchesMoved:(NSSet *)touches withEvent: (UIEvent *)event {
[self touchesBegan:touches withEvent:event];
}
画像をクリックすると、各画像のタグの出力が得られるという点で機能します。しかし、ドラッグすると点滅します...何かアイデアはありますか?