2011-12-07 16 views
0

画像を5〜6秒間表示し、それにスライダーをリンクして時間を増やしたいとします。つまり、時間が0秒の場合、スライダーは極端に左にあり、タイマーが1秒の場合はスライダーが適切に右に移動し、タイマーが3秒の場合はスライダーが中央にあり、時間が徐々に4〜5秒になると右に移動します極端な6秒で。NSTimer iPhoneを使用したスライダー

-(void) timer { 
    //dSliderValue - step of slider moveing. set it to 2 
    if (slider.value+dSliderValue <= 60) [slider setValue:slider.value+dSliderValue]; 
    else { 
     [t invalidate]; 
     //any other code here, on timer stopping 
    } 
} 

これはタイマー(NSTimer *トン)である:あなたがこの

+0

実際に範囲を設定する方法がわかりません。スライダーは0-1ですが、タイマーを設定するにはどうすればいいですか?私はそれのためのコードを書いていません – user1048396

答えて

2

使用XIBセットスライダーminimumVal = 0で

timerForSlider = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateSlider) userInfo:nil repeats:YES];//timerForSlider in .h file 

-(void)updateSlider 
{ 
    [slider setValue:slider.value+1]; 
    if(slider.value==6) 
    { 
     [timerForSlider invalidate]; 
    } 
} 

1以下。 MaximumVal = 6; initialVal = 0;

+0

ありがとうございます!できます!!!! – user1048396

+0

しかし、私はそうすることに気付いた、私はスライダーの極端な権利まで到達することができない、最大値に達する前に条件slider.value == 6条件が一致して私のビューを変更する – user1048396

0

この上で私を導くことができることは、タイマーコールバック(セレクタ)です。開始画像を示す上でそれを呼び出す:

[slider setMaximumValue:60]; 
[slider setValue:0]; 
dSliderValue = 2; 
t = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(timer) userInfo:nil repeats:YES]; 
関連する問題