ボリュームを制御するために MPVolumeView を必要とするアプリケーションを構築しています。iOS 5.1 より前では完全に機能していましたが、5.1 の更新以降、サム イメージが垂直方向の中央に配置されなくなりました。イメージのサイズを変更したり、ビュー (およびスライダー) のサイズを変更したりしましたが、何も機能していないようです。親指が垂直方向に中央に配置されていません。中央の親指を取得する唯一の方法は、デフォルトの iOS を使用する場合です。
正確な最小、最大、および親指の画像を使用して、別のビューに UISlider を追加しようとしましたが、その画像は中央に配置されています。
MPVolumeView のコードは次のとおりです。
MPVolumeView *volumeView;
volumeView = [[[MPVolumeView alloc] initWithFrame:volumeViewHolder.bounds] autorelease];
[volumeViewHolder addSubview:volumeView];
UIView *volumeViewSlider;
for (UIView *view in [volumeView subviews])
{
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"])
{
volumeViewSlider = view;
}
}
[(UISlider *)volumeViewSlider setThumbImage:sliderHandleIcon forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];
volumeViewHolder は、153x33 の単なる UIView です。スクリーンショットでは親指を緑色にしています。