我有一些扑克牌,当你点击它们时它们会翻转。我希望在翻转动画完成后发生一些事情,所以我在我的 UIView 动画周期中有这个:
[UIView setAnimationDidStopSelectorselector(flipAnimationDone:finished:context];
...它称之为:
-(void)flipAnimationDoneNSString *)animationID finishedBOOL)finished contextvoid *)context {
if (finished == YES) {
// other stuff here
}
}
现在,我需要 if (finished == YES) 位,否则 other stuff 会触发 即使用户点击卡片再次是动画中间,这很糟糕——只有在翻转动画完全完成时才会发生
问题是,这不起作用。如果我有 if 在那里,那么 other stuff 无论如何都不会触发。如果我把 if 排除在外,其他东西就会触发,但可能是在错误的时间。
finished 位导致其无法正常工作,我做错了什么?
谢谢!
Best Answer-推荐答案 strong>
注意文档说方法签名是
- (void)animationDidStopNSString *)animationID finishedNSNumber *)finished contextvoid *)context;
具体来说,
finished
An NSNumber object containing a Boolean value. The value is YES if the animation ran to completion before it stopped or NO if it did not.
所以,你应该把它设为 (NSNumber *)finished 和 if ([finished boolValue]) { ... } 。
关于ios - 正确使用汉化: in setAnimationDidStopSelector:?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/6965053/
|