2016-08-05 20 views
0

私は3つの画像ビューを持っており、画像ビューで同時にタップしないようにしたいと思います。どうやってやるの?誰も私を助けることができますか?あなたがイメージビューをタップImageviewsの同時クリックを防止する

for (int i=0; i <= [_images1 count]-1; i++){ 
    CGFloat xOrigin = i * self.view.frame.size.width/3; 
    wordsImage = [[UIImageView alloc] init]; 

    [wordsImage setFrame:CGRectMake(xOrigin+20, self.view.frame.size.height/3,self.view.frame.size.width/3.5 , self.view.frame.size.height/5)]; 
    [wordsImage setImage:[UIImage imageNamed: [_images1 objectAtIndex:i]]]; 
    [self.view addSubview:wordsImage]; 
    [wordsImage setTag:i]; 
    wordsImage.userInteractionEnabled = YES; 

    tapGesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:index_image:)]; 
    tapGesture1.numberOfTapsRequired = 1; 

    [tapGesture1 setDelegate:self]; 

    [wordsImage addGestureRecognizer:tapGesture1]; 
} 
+0

がちょうどuserinteractionモードを設定=​​なしタグ値 –

+0

のために私の答え@Bharathi – Bharathi

+0

を使用して、それを設定する方法を選択画像 –

答えて

0

Imageviewsを同時にクリックしないようにするには、exclusiveTouchYESに設定します。

/* exclusiveTouch 
    A Boolean value that indicates whether the receiver handles touch events exclusively. 
    Setting this property to YES causes the receiver to block the delivery of touch events to other views in the same window. The default value of this property is NO. 
*/ 
    for (int i=0; i <= [_images1 count]-1; i++){ 
     CGFloat xOrigin = i * self.view.frame.size.width/3; 
     wordsImage = [[UIImageView alloc] init]; 

     [wordsImage setFrame:CGRectMake(xOrigin+20, self.view.frame.size.height/3,self.view.frame.size.width/3.5 , self.view.frame.size.height/5)]; 
     [wordsImage setImage:[UIImage imageNamed: [_images1 objectAtIndex:i]]]; 
     [self.view addSubview:wordsImage]; 
     [wordsImage setTag:i]; 
     wordsImage.userInteractionEnabled = YES; 
     wordsImage.exclusiveTouch = YES;//Set this property 

     tapGesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:index_image:)]; 
     tapGesture1.numberOfTapsRequired = 1; 

     [tapGesture1 setDelegate:self]; 

     [wordsImage addGestureRecognizer:tapGesture1]; 
    } 

私はこれがあなたと同じImageViewのをクリックして、一連のを制限するために、このメソッドを使用して、有用

+0

をチェックあなたは歓迎されている@Bharathiそれは – Bharathi

+0

を助けた...ありがとうございます。 – HDT

0

W編はtrueに1つのBool変数を設定し、その変数を管理します。

1

だろう願っています。これがあなたに役立つことを願っています。

int previousTag,curentTag,flag; 
-(void)tapGesture:(id)sender{ 
    UIGestureRecognizer *recognizer = (UIGestureRecognizer*)sender; 
    UIImageView *imageView = (UIImageView *)recognizer.view; 

    if(flag == 0){ 
     previousTag = imageView.tag; 
     curentTag = 520; // unequal value you will enter here 
     flag = 1; 
    } 
    else { 
     curentTag = imageView.tag; 
    } 

    if(previousTag != curentTag) 
    { 
     [imageView setImage:[UIImage imageNamed:@"anyImage.png"]]; 
     previousTag = curentTag; 
    } 

} 
関連する問題