4

MPVolumeViewアプリに使用しています。をカスタマイズしましMPVolumeViewたが、スライダーのサム イメージが正しく設定されていないという問題があります。

4

2 に答える 2

0

MPVolumeView では、

デバイスのハードウェアのボリューム値で常にボリューム値を使用します。

ハードウェアの最小音量が 0.2 の場合、MPVolumeView のスライダーを 0.2 に設定します。ボリュームには 0.0 から 1.0 の値を使用します。

詳細については、こちらからサンプル コードをダウンロードしてください。

サンプルコード

このボリューム ビューをカスタマイズすることもできます

ヘルプリンク

もう必要な場合はお知らせください。

アップデート :

MPVolumeView というもう 1 つの役立つリンクがここにあります。

于 2013-02-18T12:17:43.173 に答える
0

編集:

したがって、 を使用する場合MPVolumeView、iOS は、他の画像と同じように設定した画像を実際には垂直方向に揃えないことがわかります。解決策は、わずかにオフセットした画像を作成し (画像が大きいことを確認する必要がある場合は、いつでもアルファを使用できます) MPVolumeView、. これはちょっと面倒ですが、非常にうまく機能します。通常、新しい画像には 2 ~ 4 ピクセルのオフセットが必要です。


ボリューム サム イメージを設定するには、次を使用する必要があります。

setVolumeThumbImage:forState:

たとえば、 というイメージmyThumbImage.pngと という MPVolumeView がmyVolumeViewある場合、次のように使用します。

[myVolumeView setVolumeThumbImage:
    [UIImage imageNamed:@"myThumbImage"] forState:UIControlStateNormal];

これにより、プロジェクトに存在する名前の画像が検索さmyThumbImage.pngれ、スライダーのつまみに使用されます。この画像が目的のサイズになるように注意する必要があります。通常、25x25 は少し大きいですが、出発点としては悪くありません。

AppleUISliderは薄暗くなり、タップするとボタンの外観が変わります。これを実現するには、希望する外観の別の画像を作成し (これは同じ画像でも、暗いだけでも、まったく異なる画像でもかまいません)、それを、つまみが強調表示されたときに表示される画像に設定します (つまり、タップするとどうなりますか)。

これを行うには、次を使用します。

[myVolumeView setVolumeThumbImage:
    [UIImage imageNamed:@"VolumeThumbHighlighted"] forState:UIControlStateHighlighted];

名前が付けられた画像を見つけてVolumeThumbHighlighted.png、その目的に使用します。


通常の方法とは少し異なる方法で、ストレッチ可能な画像を使用して、左右のトラック画像を設定することもできますUISlider。次のコードを使用します。

[myVolumeView setMinimumVolumeSliderImage:[[UIImage imageNamed:@"LeftTrackImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 0)]forState:UIControlStateNormal];
[myVolumeView setMaximumVolumeSliderImage:[[UIImage imageNamed:@"RightTrackImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 4)]forState:UIControlStateNormal];

これにより、画像のエッジ インセットが 4 に設定されます。これは、任意の値にすることができます。

この部分はあなたの質問の直接の部分ではないので、完全に説明するつもりはありません。

于 2013-05-08T15:42:47.967 に答える