我试图让按钮在被按下 3 秒时改变颜色。一旦计时器达到第 3 秒,颜色变化是永久性的,但如果用户在时间结束之前释放按钮,则按钮会恢复其原始颜色。到目前为止我所拥有的是:在viewDidLoad
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(fireSomeMethod)];
longPress.minimumPressDuration = 3.0;
[self.view addGestureRecognizer:longPress];
在fireSomeMethod
我有
- (void)someMethod {
[UIView transitionWithView:self.button
duration:2.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
self.button.backgroundColor = [UIColor redColor];
}
completion:^(BOOL finished) {
NSLog(@"animation finished");
}];
}
这需要我按住按钮 3 秒才能触发动画,而动画本身需要 2 秒才能完成。所需的行为是动画在 longPress 开始时开始,我在 3 秒前释放按钮,一切都恢复到原来的样子。提前感谢您的帮助