Saturday, 15 May 2010

UISlider does not drag iOS -



UISlider does not drag iOS -

i implementing sound player. slider not drag.

.h

@property (strong, nonatomic) iboutlet uislider *currenttimeslider; @property bool scrubbing;

.m

/* * sets current value of slider/scrubber * sound file when slider/scrubber used */ - (ibaction)setcurrenttime:(id)scrubber { //if scrubbing update timestate, phone call updatetime faster not wait sec , dont repeat nslog(@"%@scrubber",@"drag"); [nstimer scheduledtimerwithtimeinterval:0.01 target:self selector:@selector(updatetime:) userinfo:nil repeats:no]; [self.audioplayer setcurrentaudiotime:self.currenttimeslider.value]; self.scrubbing = false; } /* * sets if user scrubbing right * avoid slider update while dragging slider */ - (ibaction)userisscrubbing:(id)sender { nslog(@"%@",@"slider drag"); self.scrubbing = true; } /* * updates time label display , * current value of slider * while sound playing */ - (void)updatetime:(nstimer *)timer { //to don't update every second. when scrubber mousedown the slider not set if (!self.scrubbing) { //self.currenttimeslider.value = [self.audioplayer getcurrentaudiotime]; } nslog(self.scrubbing ? @"yes" : @"no"); if(self.scrubbing) { nslog(@"%@ scrubbing",@"sdfs"); } [self.currenttimeslider addtarget:self action:@selector(sliderdidendsliding:) forcontrolevents:(uicontroleventtouchupinside | uicontroleventtouchupoutside)]; long currentplaybacktime = [self.audioplayer getcurrentaudiotime]; self.currenttimeslider.value = currentplaybacktime / [self.audioplayer getaudioduration]; self.timeelapsed.text = [nsstring stringwithformat:@"%@", [self.audioplayer timeformat:[self.audioplayer getcurrentaudiotime]]]; self.duration.text = [nsstring stringwithformat:@"%@", [self.audioplayer timeformat:[self.audioplayer getaudioduration] - [self.audioplayer getcurrentaudiotime]]]; }

the slider not drag if drag slider moves previous position. ideas why slider not dragging.

thanks,

hello did u set continuous property of uislider yes . everytime u alter slider value. set no give value of release.

[myslider addtarget:self action:@selector(slidervaluechanged:) forcontrolevents:uicontroleventvaluechanged]; - (ibaction)slidervaluechanged:(uislider *)sender { nslog(@"slider value = %f", sender.value); }

did u handle slide event?.

and

where method sliderdidendsliding u calling.

ios

No comments:

Post a Comment