-2

スライダーとビデオ(10秒のうちの1つとしましょう)が必要で、スライダーが0の場合、imageViewをビデオの最初の画像に設定する必要があります。スライダーが 0.3 の場合、imageView は (3/10)* ビデオの長さ (この場合は 3 秒) で表示される画像を表示する必要があります。スライダーが 1 の場合、imageView はビデオの最後に表示される画像を表示する必要があります。したがって、スライダーを使用して、ビデオを速くまたは遅く再生できます。

特定の秒でビデオの画像を取得するコードを教えてもらえますか?

その秒から再生したくありませんが、通常その秒に表示されるはずの画像を取得するだけです。

前もって感謝します!

4

3 に答える 3

2

[[NSUserDefaults standardUserDefaults] integerForKey @"myScoreLevel1"]解析中にコンパイラが「integerForKey」に到達し、その後に文字列リテラルが表示されるため、エラーが発生します。それは決して合法的な構文ではありません。しかし[[NSUserDefaults standardUserDefaults] integerForKey]、正当な構文であるため、コンパイラは].

もちろん、本当の問題は:「integerForKey」の後に抜けていることですが、コンパイラはそれを認識できるほど賢くありません。

(そしてもちろん、=代わりに使用すること==は別の問題ですが、コンパイラーがまだ認識していないものです。=代わりに使用する==ことは非常に一般的な間違いであり、コンパイラーが常にフラグを立てることに依存することはできません。プログラムをコンパイルすると、非常に奇妙な動作をする可能性があります。)

于 2013-07-07T14:39:23.177 に答える
1

そのはず:

if ([[NSUserDefaults standardUserDefaults] integerForKey: @"myScoreLevel1"] == 0){
    [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooselevelWithoutStars.png"] forState: UIControlStateNormal];

} else if ([[NSUserDefaults standardUserDefaults] integerForKey: @"myScoreLevel1"] == 1){ 
    [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooseLevel1Star.png"] forState: UIControlStateNormal];
} 

また、ステートメントelse { .. }の後の はオプションであることに注意してください。if elseif

于 2013-07-07T14:39:02.647 に答える
-1

への変更

if ([[NSUserDefaults standardUserDefaults] integerForKey :@"myScoreLevel1"] == 0){ [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooselevelWithoutStars.png"] forState: UIControlStateNormal];

} else if ([[NSUserDefaults standardUserDefaults] integerForKey :@"myScoreLevel1"] ==1){ [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooseLevel1Star.png"] forState: UIControlStateNormal]; } そうしないと {

}

于 2013-07-07T14:27:18.000 に答える