一般如果是由Touch Up Inside触发的事件:
- 手指按到控件,UIControl更新ControlState到Highlighted
- 手指离开控件,一般UIControl更新ControlState到Selected
- Highlighted -> Selected之后的状态取决于具体的UIControl子类,其实连UITableViewCell也有这三种状态,Cell还是UIView的子类,这种特殊的状态默认就不会更新回Normal了~
4.至于在UIbutton中,那就是非常自然的时序:Normal -> Highlighted -> Selected -> Normal啦。
在Button的变化过程中就可以做一些可爱的动画了。
NSString *leftImageName = [NSString stringWithFormat:@"%@-1.png", _leftTurnip.turnipImageName];
UIImage *leftImage = IMAGE(leftImageName);
_leftTurnipButton.bounds = CGRectMake(0, 0, leftImage.size.width / 2.5 * PROPORTION, leftImage.size.height / 2.5 * PROPORTION);
[_leftTurnipButton setImage:leftImage forState:UIControlStateNormal];
leftImageName = [NSString stringWithFormat:@"%@-2.png", _leftTurnip.turnipImageName];
leftImage = IMAGE(leftImageName);
[_leftTurnipButton setImage:leftImage forState:UIControlStateHighlighted];