-1

に画像を追加NSMutableArrayして画像ビューに表示するアプリを開発しています。

私の問題は、アプリで選択またはタップされた画像のインデックスを取得する方法がわからないことです。

FrontsCards=[[NSMutableArray alloc]initWithObjects:@"cloub1.png",@"cloub2.png",@"cloub3.png",@"cloub4.png", nil];

for(int m=0; m< [FrontsCards count];m++)
{
    NSString *imageName=[FrontsCards objectAtIndex:m];

    NSString *fullImageName=[NSString stringWithFormat:@"%@",imageName];

    int padding=25;

    CGRect imageViewFrame=CGRectMake(scrollView.frame.size.width*m+padding, scrollView.frame.origin.y, scrollView.frame.size.width-2*padding, scrollView.frame.size.height);

    ImgView=[[UIImageView alloc]initWithFrame:imageViewFrame];

    [ImgView setImage:[UIImage imageNamed:fullImageName]];

    [ImgView setContentMode:UIViewContentModeScaleAspectFill];


    [scrollView addSubview:ImgView];


    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapImgView:)];
    doubleTap.numberOfTapsRequired = 2;
    doubleTap.delegate = self;

    [self.ImgView addGestureRecognizer:doubleTap];

    self.ImgView.userInteractionEnabled=YES;    
}


CGSize scrollViewSize=CGSizeMake(scrollView.frame.size.width*[FrontsCards count], scrollView.frame.size.height);
[scrollView setContentSize:scrollViewSize];
[self.view addSubview:scrollView];

画像のインデックスを取得するには、タップジェスチャ認識エンジンで何をすべきですか?

- (void)doubleTapImgView:(UITapGestureRecognizer *)gesture
{
     NSLog(@"double-tap");
}
4

2 に答える 2

1

次のように使用する各 imageView にタグを設定します。

ImgView=[[UIImageView alloc]initWithFrame:imageViewFrame];
ImgView.tag = m;

次に、このメソッドを置き換えます。

- (void)doubleTapImgView:(UITapGestureRecognizer *)gesture
{
     NSLog(@"double-tap");
     NSLog(@"%d", gesture.view.tag);
}

imageViewの画像のインデックスを出力します

于 2013-05-14T08:30:31.840 に答える
0

多分あなたはこのようなものを使うことができます:

first add the name of the image as the accessibilityIdentifier of the the imageview
[imgView setAccessibilityIdentifier:imageName];

次に、tapRecognizer で:

-(void)doubleTapImgView:(UITapGestureRecognizer *)gesture{
    UIImageView *imgView = (UIImageView *)gesture.view;
     int idx = [FrontCards indexOfObject:[imgView accessibilityIdentifier]];
}
于 2013-05-14T08:42:48.060 に答える