タイトルの通りです。
下記コードのように画像を配列にたくさんいれて、for文でズラーッと並べました。
これらを画面上で1つ1つタップした時に、動かせるようにしたいです。
Objective
1#import "ViewController.h" 2 3@interface ViewController() 4 5@end 6 7@implementation ViewController 8 9- (void)viewDidLoad{ 10 [super viewDidLoad]; 11 12 NSArray *items = @[[UIImage imageNamed:@"image1.png"], 13 [UIImage imageNamed:@"image2.png"], 14 [UIImage imageNamed:@"image3.png"]]; 15 16 // 生成したUIImageオブジェクトをImageViewに設定する 17 for (int i = 0; i < items.count; i++) { 18 19 UIImageView *imageView =[[UIImageView alloc] initWithFrame:CGRectMake(i*100,0,100,100)]; 20 21 imageView.image= items[i]; 22 23 UIPanGestureRecognizer *pan1 = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction1:)]; 24 [imageView addGestureRecognizer:pan1]; 25 26 [self.view addSubview:imageView]; 27 28 29 } 30 31} 32 33- (void)didReceiveMemoryWarning { 34 [super didReceiveMemoryWarning]; 35 // Dispose of any resources that can be recreated. 36} 37 38- (void)panAction1:(UIPanGestureRecognizer *)sender imageView:(UIImageView*)imageView { 39 40 CGPoint p = [sender translationInView:imageView]; 41 CGPoint movedPoint1 = CGPointMake(imageView.center.x + p.x, imageView.center.y + p.y); 42 imageView.center = movedPoint1; 43 [sender setTranslation:CGPointZero inView:self.view]; 44 45} 46@end
UIPanGestureRecognizerクラスなどを使って、
imageView.userInteractionEnabled = YES;
とすれば動作するはずなのですが、この1行を書いてから
画像にタップすると
-[ViewController panAction1:]: unrecognized selector sent to instance 0x7fd815409080
となりアプリがクラッシュしてしまいます。
selectorのメソッドが参照できないからでしょうか?
解決方法がわかる方がいらっしゃいましたら教えてください。
お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/04 15:02
2018/11/04 16:07
2018/11/04 16:11 編集
2018/11/05 10:54