2011-01-09 8 views
1

私はサブビューとして追加された画像を持つscrollviewを持っています。私は画像を選択したりタップしたりできる必要があります。つまり、タップされた画像の名前を取得します。以下の私のコードを見てください。UIScrollviewで特定の画像を選択

for (j = 1; j <= 12; j++) 
{ 
    NSString *imageName = [NSString stringWithFormat:@"%@",[months objectAtIndex:j-1]]; 
    NSLog(@"imagename is %@",imageName); 
    UIImage *image = [UIImage imageNamed:imageName]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 


    CGRect rect = imageView.frame; 

    rect.size.height = smallScrollObjHeight; 
    rect.size.width = smallScrollObjWidth; 
    imageView.frame = rect; 
    imageView.tag = j; 
    [smalltapRecognizer setNumberOfTapsRequired:1]; 
    [smalltapRecognizer setDelegate:self]; 
    [imageView addGestureRecognizer:smalltapRecognizer]; 
    [smalltapRecognizer release];*/ 
    NSLog(@"tag value is %d ",imageView.tag); 
    [monthscroll addSubview:imageView]; 
    [imageView release]; 
} 


[self layoutsmallScrollImages]; 
UITapGestureRecognizer *smalltapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(smalltapped:)]; 
[smalltapRecognizer setNumberOfTapsRequired:1]; 
[smalltapRecognizer setDelegate:self]; 
[monthscroll addGestureRecognizer:smalltapRecognizer]; 
[smalltapRecognizer release]; 

// ----------------------------

- (無効)smalltapped:(id)を送信者 { NSLog(@ "タップ"); //ここから進める方法を知る必要があります。 }

私のプログラムはタップを検出し、タップログを小タップ機能に出力します。私はどのように選択またはタップ画像の名前をキャプチャすることができます知る必要があります。

答えて

1

代わりにscrollViewでUIButtonsを使用してみませんか?そうすれば、標準のUIButtonメソッドを使うことができ、ジェスチャ認識ツールを気にする必要がなくなり、ボタン上のイメージを見ることができます。

+0

音が良いアイデアのように、明日それを試してみましょう – Rajashekar

0

准各UIImageViewインスタンスを持つユニークなタグ値:

のviewDidLoadで

か、どこにあなたのイメージが初期化されています

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event  
{ 
UITouch *touch = [[event allTouches] anyObject]; 
int t = [touch view].tag; 
UIImageView *imageView = (UIImageView *) [self.view viewWithTag:t]; 
//your logic here since you have recognized the imageview on which user touched 
} 

避難所:

myImageView1.tag = 1; 
myImageView2.tag = 2; 
myImageView3.tag = 3; 

はその後のようなジェスチャーか何かをしてみてくださいこれまでにこのようなことを試しましたが、うまくいくはずです。

編集:別の同様の質問で私の答えからこのコードを貼り付けたhere あなたの要件に応じて条件を調整してください。

関連する問題