如何防止第二次点击UICollectionViewCell?

时间:2013-06-28 06:32:58

标签: ios uiview uicollectionview

UICollectionView有单元格。通过点击单元格子视图应该添加。

一切正常,但......如果我快速点击第二次或第三次,它会添加两个或三个子视图......

那么如何正确地做到这一点?

这是didSelectItemAtIndexPath的代码:

recipeDetailView = [[RecipeDetailViewController alloc] initWithNibName:@"RecipeDetailViewController" bundle:nil];

[recipeDetailView.view setBackgroundColor: [UIColor colorWithPatternImage:[UIImage imageNamed:@"bgRecipe.jpg"]]];
[recipeDetailView.view setFrame: myFrame];

[UIView animateWithDuration:0.3
                      delay:0.0
                    options: UIViewAnimationOptionCurveLinear
                 animations:^{
                     [recipeDetailView.view setFrame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
                     [self.view addSubview:recipeDetailView.view];
                     [self addChildViewController:recipeDetailView];
                     [recipeDetailView didMoveToParentViewController:self];
                 }
                 completion:^(BOOL finished){
                     [recipeDetailView slideViewAdd];
                 }];

2 个答案:

答案 0 :(得分:0)

在检测到点按后,短时间内禁用用户互动。

或者,使用手势识别器检测水龙头,使用另一个手势识别器进行多次点击,并在单击识别器触发之前要求多次点击识别器失败。

答案 1 :(得分:0)

didSelectItemAtIndexPath中,只需将所有代码添加到此处。

 if(recipeDetailView ==  nil)
 {

  //copy all your codes from above question.

 }

当您删除视图时,只需将recipeDetailView设置为nil即可。

 recipeDetailView = nil;