Я использую MPVolumeView
для своего приложения. Я настроил MPVolumeView
, но есть проблема, так как изображение большого пальца ползунка установлено неправильно.
Изображение большого пальца MPVolumeView не по центру
Ответы (2)
В MPVolumeView,
Всегда используется значение громкости с аппаратным значением громкости вашего устройства.
если ваше оборудование имеет минимальный объем 0,2, тогда ползунок MPVolumeView установлен на 0,2. он использует значение от 0,0 до 1,0 для громкости.
Для получения более подробной информации вы можете скачать пример кода здесь,
Вы также можете настроить этот объемный вид
Дайте мне знать, если вам нужно больше.
ОБНОВИТЬ :
Еще одна полезная ссылка здесь, MPVolumeView.
Изменить:
Получается, что при использовании MPVolumeView
iOS на самом деле не выравнивает установленное вами изображение по вертикали так же, как это происходит с другими изображениями. Решение состоит в том, чтобы создать слегка смещенное изображение (вы всегда можете использовать альфу, если вам нужно убедить его, что изображение больше) и использовать его только для MPVolumeView
. Это своего рода боль, но работает очень хорошо. Обычно вам нужно смещение от 2 до 4 пикселей для вашего нового изображения.
Чтобы установить изображение миниатюры громкости, вы должны использовать:
setVolumeThumbImage:forState:
Например, если у вас есть изображение с именем myThumbImage.png
и MPVolumeView с именем myVolumeView
, вы должны использовать:
[myVolumeView setVolumeThumbImage:
[UIImage imageNamed:@"myThumbImage"] forState:UIControlStateNormal];
Это найдет любое изображение с именем myThumbImage.png
, существующее в вашем проекте, и будет использовать его для бегунка ползунка. Вы должны позаботиться о том, чтобы это изображение было нужного вам размера, 25x25, как правило, немного велико, но неплохая отправная точка.
Apple UISlider
тускнеет и меняет внешний вид кнопки, когда вы нажимаете на нее. Для этого создайте другое изображение, которое выглядит так, как вы хотите (это может быть то же изображение, только более темное, или совершенно другое) и установите его таким, чтобы оно отображалось для большого пальца, когда оно выделено (что что происходит, когда вы нажимаете на него).
Вы бы сделали это, используя:
[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, вы можете сделать любое значение, которое хотите.
Я не собираюсь полностью объяснять эту часть, поскольку она не является частью вашего вопроса.