2

私は iPod アプリの置き換えを書いています。「現在再生中」のビューで、現在の位置を示し、ユーザーがドラッグして再生位置を変更できるようにする、iPod アプリのような進行状況インジケーターが必要です。

それ、どうやったら出来るの?

UISlider と UIProgressView を使用しますか?

4

1 に答える 1

5

ところどころ省略していますが、差し込むだけで十分です。

// .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 ライブラリ) が必要な場合は、作成できますが、これ以上のものはありません。

于 2011-06-23T15:30:43.323 に答える