我想在屏幕上有4個UIViews,並在觸摸時爲它們的背景色設置動畫,並在觸摸結束時將其更改回來。當我在touches內動畫時迷路了開始
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
[UIView animateWithDuration:0.1
animations:^{
self.backgroundColor = altColor;
}];
}
不幸的是,當我執行此動畫的touchesBegan - touchesEnded將不會觸發除非觸摸動畫完成後結束。這意味着touchesEnded在動畫期間會因觸摸而丟失。
另外,快速點擊UIView不會導致多個touchesBegan調用。似乎在動畫(在第一次觸摸中產生)完成之前沒有接收到新的觸摸。
如何用動畫響應所有接觸?我實際上喜歡每一個新的觸摸來中斷以前的動畫......並重新開始。