nik*_*ers 3 iphone cocoa-touch uibutton uikit
我有一个选择状态和一个UIButton的正常状态,它们都是UIImages.触摸按钮时,我希望它能够达到选定状态,然后在一秒钟内恢复正常状态.按下UIButton*btn时,我设置了以下动画,但它只是再次切换回取消选择状态.我该如何实现这一目标?
[btn setSelected:YES];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f];
[btn setSelected:NO];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
干杯
聂
Ed *_*rty 13
既然selected不是动画属性,那就行不通(正如你所发现的那样).我的解决方案是让btn的选定状态位于完全相同位置的按钮下方的单独UIImageView中.然后在点击按钮的操作中:
- (void) tapButton:(UIButton *)btn {
btn.alpha = 0;
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:[UIApplication sharedApplication]];
[UIView setAnimationDidStopSelector:@selector(endIgnoringInteractionEvents)];
btn.alpha = 1;
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
注意我还添加了begin/endIgnoringInteractionEvents调用,因此用户在淡入恢复正常状态时无法点击按钮.如果您想允许,请使用更换begin/end呼叫[UIView setAnimationBeginsFromCurrentState];
| 归档时间: |
|
| 查看次数: |
3468 次 |
| 最近记录: |