我想用动画移动UIButton,当用户触摸它时它会移动,我想要识别该事件,但在动画期间UIButton不发送任何事件。
请解决我的问题。
答案 0 :(得分:7)
您是否尝试过AllowUserInteraction选项?
[UIView animateWithDuration:5.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{ // move the button }
completion:^(BOOL finished){}];
答案 1 :(得分:0)
在动画期间,无论此属性中的值如何,都会暂时禁用动画中涉及的所有视图的用户交互。您可以通过在配置动画时指定UIViewAnimationOptionAllowUserInteraction选项来禁用此行为。
此外,您可以实施
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
在superview中捕获事件并查看事件是否指向按钮。
答案 2 :(得分:0)
由于UIButton
继承自继承UIControl
的{{1}},我相信您使用基于块的方法为按钮设置动画UIView
在为UIButton设置动画时,您需要添加选项animateWithDuration:delay:options:animations:completion:
,以便识别某些用户互动。在您尝试实验时,默认情况下在动画期间禁用用户交互。