ボリュームを制御するためにMPVolumeViewが必要なアプリケーションを構築しています。それはiOS 5.1より前には完全に機能しましたが、5.1アップデート以来、サムイメージはもはや垂直にセンタリングされていません。想像線のサイズの変更、ビュー(およびスライダ)のサイズ変更などのいくつかのことを試しましたが、何も動作していないように見えます。私が中心の親指を取得する唯一の方法は、私がデフォルトのIOSを使用する場合です。カスタムMPVolumeView Thumb Imageは、iOS 5.1以降、垂直方向にセンタリングされていません。
私はUISliderを正確なmin、max、およびthumbイメージを持つ別のビューに追加しようとしました。ここで
は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のthatsだけのUIViewです。スクリーンショットに親指を緑色で置きます。たぶん
私は同じ問題を抱えていました。[Daniel Amitay](http://stackoverflow.com/users/314042/daniel-amitay)は私に解決策を教えてくれました:http://tibr.me/2012/07/14/ customizing-mpvolumeview-appearance/ – murze
これは、すべてのMPVolumeSliderのMPVolumeSlider実装を置き換えるため、優れた解決策ではありません。これにより、他のメディアを再生するために使用するMPMoviePlayerViewControllerスライダのオフセットが発生します。 –
@murze:それは私がこれまで見たことがありますか?これはAppleに受け入れられていますか? – Nailer