Ich habe die Anforderung, während des Streams eines Audioclips eine UIProgressBar
in UITableviewCell
anzuzeigen.UIProgressBar zu UITableViewCell hinzufügen
Ich habe versucht, eine NSTimer
ausgeführt und dann versucht, die Fortschrittsanzeige zu aktualisieren, aber es funktioniert nicht. Das ist mein Code. Bitte lassen Sie mich wissen, was mit diesem Ansatz falsch ist.
Führen Sie den Timer
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.25
target:self
selector:@selector(updatePlayProgress)
userInfo:nil
repeats:YES];
aktualisieren UIProgressView in TableviewCell
- (void)updatePlayProgress {
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"Duration %f", appDelegate.moviePlayer.duration);
NSLog(@"Current time %f", appDelegate.moviePlayer.currentPlaybackTime);
float timeLeft = appDelegate.moviePlayer.currentPlaybackTime/appDelegate.moviePlayer.duration;
// upate the UIProgress
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:playingIndex inSection:0];
FeedCell *cell = (FeedCell*)[self tableView:self.tblView cellForRowAtIndexPath:indexPath];
NSLog(@"Time left %f", timeLeft);
cell.progressPlay.progress = 0.5;
[cell.progressPlay setNeedsDisplay];
}
CellForRowAtIndexPath
fCell.progressPlay.alpha = 0.5;
fCell.progressPlay.tintColor = navigationBarColor;
[fCell.progressPlay setTransform:CGAffineTransformMakeScale(fCell.frame.size.width, fCell.frame.size.height)];
[fCell.progressPlay setHidden:NO];
return fCell;
Output sollte etwas ähnlich wie diese
Versuchen war Ihr UITableViewCell zu haben als ein iVar in Ihrem UIViewController.Ich denke, dass Ihr Fortschritt zurückgesetzt wird, oder zu leas t Der Wert wird nicht beibehalten. – Jasper