Изображение большого пальца MPVolumeView не по центру

Я использую MPVolumeView для своего приложения. Я настроил MPVolumeView, но есть проблема, так как изображение большого пальца ползунка установлено неправильно.


person Hitendra    schedule 18.02.2013    source источник
comment
Добро пожаловать, Hitendra, хорошо отформатированный вопрос привлекает больше респондентов, поэтому попробуйте отформатировать свой вопрос с помощью предлагаемых шаблонов форматирования, таких как stackoverflow.com/editing-help, а также вам нравится задавать основные вопросы здесь: stackoverflow.com/editing-help, чтобы получить максимальный ответ на ваш вопрос, без любой минус. :)   -  person rptwsthi    schedule 18.02.2013
comment
Задавая вопрос, пожалуйста, правильно отформатируйте его и включите все необходимые детали. В этом вопросе было неясно, что вы спрашивали о макете изображения, которое вы установили, а не о том, что слайдер не установлен должным образом. что может означать много разных вещей в зависимости от контекста.   -  person ekinnear    schedule 20.06.2013
comment
Кроме того, если вы найдете ответ, который правильно отвечает на ваш вопрос, отметьте его как ответ, щелкнув значок слева от ответа.   -  person ekinnear    schedule 20.06.2013


Ответы (2)


В MPVolumeView,

Всегда используется значение громкости с аппаратным значением громкости вашего устройства.

если ваше оборудование имеет минимальный объем 0,2, тогда ползунок MPVolumeView установлен на 0,2. он использует значение от 0,0 до 1,0 для громкости.

Для получения более подробной информации вы можете скачать пример кода здесь,

Пример кода

Вы также можете настроить этот объемный вид

Ссылка на справку

Дайте мне знать, если вам нужно больше.

ОБНОВИТЬ :

Еще одна полезная ссылка здесь, MPVolumeView.

person Solid Soft    schedule 18.02.2013
comment
Я скачал пример кода, который вы дали ссылку. но в этом примере кода изображение большого пальца не установлено. и в моем приложении я установил изображение большого пальца, которое не отображается должным образом. Оно показывает большой палец на несколько пикселей вниз. - person Hitendra; 18.02.2013
comment
да, я знаю, что я использую в устройстве. у меня есть ссылка tibr.me/2012/07/14/customizing-mpvolumeview- внешний вид, но я этого не понимаю. - person Hitendra; 18.02.2013
comment
for (UIButton *button in volumeView.subviews) { if ([button isKindOfClass:[класс UIButton]]) { [button setImage:[UIImage imageNamed:@custom-route-button.png] forState:UIControlStateNormal]; [размер кнопкиПодходит]; } } ------ Этот цикл полезен для получения каждого подпредставления и установки изображений в нем. - person Solid Soft; 18.02.2013
comment
tibr.me/2012/07/14/customizing-mpvolumeview-appearance прекрасно работает со мной.. - person Solid Soft; 18.02.2013
comment
Я могу подтвердить, что последняя (ссылка) [tibr.me/2012/07/14/customizing-mpvolumeview-appearance], опубликованная @Jagdish, полностью охватывает проблему — я использовал информацию, описанную в этой публикации, для моего проекта. . - person Till; 18.02.2013
comment
@Hitendra, но весь код показан в этой статье, что еще вам нужно? - person Till; 18.02.2013
comment
@Hitendra Вы получите помощь по коду, что вам нужно, но не ожидайте от кого-то, кто напишет для вас весь код. По крайней мере, вам нужно сделать некоторые из них и на вашем конце. С какой именно проблемой вы столкнулись для этой задачи? - person Solid Soft; 18.02.2013

Изменить:

Получается, что при использовании 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, вы можете сделать любое значение, которое хотите.

Я не собираюсь полностью объяснять эту часть, поскольку она не является частью вашего вопроса.

person ekinnear    schedule 08.05.2013