我热衷于iOS 4中的新块动画。即语法
[UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^
{
someview.alpha = 0
} completion::^(BOOL finished)
{
focusAndExposureBox.hidden = true;
}];
我有一个案例,我在手势结束时使用手势识别器和动画视图。我有一个完成处理程序,它将someview设置为隐藏(出于性能原因,我需要这样做)。由于设置了隐藏属性,通常会阻止交互。我之前的解决方案是使用上一个动画风格和animationDidStop处理程序
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.25];
someview.alpha = 0;
[UIView commitAnimations];
但是,如果可能的话,我想使用更新的样式,因为它有更简洁的方法在动画结束后执行操作,并且是Apple推荐的。所以,目前我正在使用这个hackery:
[UIView animateWithDuration:1 delay:0
options:UIViewAnimationOptionAllowUserInteraction animations:^{
someview.alpha = 0;
} completion:^(BOOL finished) {
[someview performSelector:@selector(setHidden:) withObject:[NSNumber numberWithBool:true] afterDelay:1];
}];
有没有人知道在这种情况下防止阻止的方法?
答案 0 :(得分:0)
如果你将Gesture Recognizers与委托一起使用,你应该能够避免阻塞问题,因为委托函数将独立于主线程被调用。