枚举的使用
首先,命名的规范及可读性
typedef enum
{
BtnState_readyRecod,
BtnState_starRecod
}BtnState;
最常见的事用在button中,btn点击需要改动状态,根据状态改变事件及做出变化 看例子
- (IBAction)remakeAction:(id)sender {
if (self.remakeListen == RemakerecodeMusic_ready) {
//该图片状态
[self.remakeBtn setBackgroundImage:[UIImage imageNamed:@"lygs_zczt2.png"] forState:UIControlStateNormal];
//清除录音
[[LVRecordTool sharedRecordTool].recorder stop];
self.timeLabel.text = @"00:00";
//开始录音
[[LVRecordTool sharedRecordTool] startRecording];
self.remakeListen = RemakerecodeMusic_recode;
[self.recordBtn setBackgroundImage:[UIImage imageNamed:@"lygs_axzt3"] forState:UIControlStateNormal];
self.btnstate = BtnState_starRecod;
NSTimer *timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(labelPulstimerAction) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
[timer fire];
self.REtimer = timer;
return;
}else if (self.remakeListen == RemakerecodeMusic_recode){
[self.REtimer invalidate];
self.REtimer = nil;
[[LVRecordTool sharedRecordTool]stopRecording];
self.timeLabel.text = @"00:00";
[self.remakeBtn setBackgroundImage:[UIImage imageNamed:@"lygs_jzzt2.png"] forState:UIControlStateNormal];
self.remakeListen = RemakerecodeMusic_ready;
self.btnstate = BtnState_readyRecod;
[self.recordBtn setBackgroundImage:[UIImage imageNamed:@"lygs_zczt3.png"] forState:UIControlStateNormal];
}
}
上面的代码很详细;