我有一个UIView像门一样动画,不断被打开和关闭。我想检查的是,如果用户触摸了视图中期动画。我添加了UIViewAnimationOptionAllowUserInteraction
。我的问题是我希望触摸是动态的。因此,当门以70%关闭并且用户以90%触摸屏幕时,它不应该接触到触摸。
UIViewAnimationOptionAllowUserInteraction
编辑:忘记提及我在UIView上使用UITapGestureRecognizer
。
我的代码:
-(void)animateWithDuration:(float)duration{
[self.view layoutIfNeeded];
self.doorWidth.constant = closedWidth;
[UIView animateWithDuration:duration
delay:0.0
options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionAllowAnimatedContent)
animations:^{
[self.view layoutIfNeeded];
}
completion:^(BOOL finished){
if (!isStopped) {
self.doorWidth.constant = openWidth;
[UIView animateWithDuration:duration
delay:0.0
options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionAllowAnimatedContent)
animations:^{
[self.view layoutIfNeeded];
}
completion:^(BOOL finished){
if (finished) {
isOpen = false;
float randomTime = ((float)arc4random() / ARC4RANDOM_MAX)+0.3;
[self animateWithDuration:randomTime];
}
}];
}
}];
}