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];
}];
答案 0 :(得分:0)
在检测到点按后,短时间内禁用用户互动。
或者,使用手势识别器检测水龙头,使用另一个手势识别器进行多次点击,并在单击识别器触发之前要求多次点击识别器失败。
答案 1 :(得分:0)
在didSelectItemAtIndexPath
中,只需将所有代码添加到此处。
if(recipeDetailView == nil)
{
//copy all your codes from above question.
}
当您删除视图时,只需将recipeDetailView设置为nil即可。
recipeDetailView = nil;