我有一个UISwitch
,它在UITableViewCell
中。我已经将目标操作分配给开关:
[switch addTarget:self action:@selector(changeSwitchColor:) forControlEvents:UIControlEventValueChanged];
- (void)changeSwitchColor:(id)sender
{
...
}
问题在于在动画完成之前调用了
changeSwitchColor:
方法,但我想检测动画何时结束,这样我就可以设置thumbTintColor
属性而不会中断动画。我尝试使用
UIView
的setAnimationDidStopSelector:
方法来检测动画:[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
...
}
但是这种方法并不是在 UISwitch
完成动画时调用的(我甚至不确定内部是如何制作动画的)。
我该如何检测 UISwitch
的完成状态?
谢谢!
UISwitch
不是一个好的类。它很难被重写或自定义。我认为你应该重写UIControl
并创建自己的开关。 - TonyUIControl
。 - Legoless