我正在编写一个 iPod 应用程序替代品,在我的“正在播放”视图中,我想要一个像 iPod 应用程序一样的进度指示器,它显示当前位置,并允许用户拖动以更改播放位置。
我怎么做?
我是否使用 UISlider 和 UIProgressView?
我正在编写一个 iPod 应用程序替代品,在我的“正在播放”视图中,我想要一个像 iPod 应用程序一样的进度指示器,它显示当前位置,并允许用户拖动以更改播放位置。
我怎么做?
我是否使用 UISlider 和 UIProgressView?
这里和那里省略了一些东西,但插入就足够了。
// .h
IBOutlet UISlider *progressSlider;
NSTimer *progressTimer;
@property (nonatomic, retain) UISlider *progressSlider;
@property (nonatomic, retain) NSTimer *progressTimer;
- (void)updateSlider;
- (void)resetTimer:(NSTimer *)timer;
// .m
// synthesize variables
- (void)handleNowPlayingItemChanged:(id)notification {
NSNumber *duration = [item valueForProperty:MPMediaItemPropertyPlaybackDuration];
float totalTime = [duration floatValue];
progressSlider.maximumValue = totalTime;
}
- (void)updateSlider {
[progressSlider setValue:musicPlayer.currentPlaybackTime animated:YES];
}
- (void)resetTimer:(NSTimer *)timer {
[progressTimer invalidate];
progressTimer = nil;
progressTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self
selector:@selector(updateSlider)
userInfo:nil repeats:YES];
}
// init and release methods (together at the bottom with view controls
// (like viewDidLoad) for convenience)
//
// don't forget to register for notifications
@end
如果您想要一个示例应用程序(仅限设备;iPod 库),我可以编写一个,但不会比这更多。