Значок системного динамика всегда отображается при использовании MPVolumeView

У меня есть своего рода обратная проблема, выраженная здесь в этом SO вопрос

В моем случае я (iPhone 4.3 GM) и тестировщик (iPhone 4.3.1) наблюдали такое поведение, при котором, когда мы регулируем громкость пальцем на MPVolumeView или с помощью физических переключателей громкости, всегда появляется наложение громкости динамика ( см. снимок экрана). снимок экрана с наложением динамика поверх MPVolumeView

Вот код, в котором я создаю MPVolumeView. Я думаю, что это совершенно общий и стандартный вариант:

    MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:volumeSlider.bounds] autorelease];
[volumeSlider addSubview:volumeView];

* volumeSlider - это просто выход к простому UIView, который я установил в IB.

Еще одна вещь, о которой я могу думать, - это то, что в IB представление volumeView проверяется как скрытое. Затем я показываю его, когда мой звук начинает воспроизводиться (это приложение для потоковой передачи звука).

Спасибо за любую помощь!


person Paul Bruneau    schedule 27.04.2011    source источник
comment
Может быть актуально: заголовок stackoverflow.com/questions/3845222/   -  person magma    schedule 28.04.2011
comment
Спасибо. Связано, но не решение для меня. Мне кажется, они пытаются скрыть слайдер.   -  person Paul Bruneau    schedule 28.04.2011
comment
Хорошо, взломав кое-что, я нашел решение. Во-первых, я снял флажок "Скрытый в ИБ". Просто сделав это, наложение осталось в стороне. Но я все еще хотел скрыть MPVolumeView, когда нет звука. Поэтому я поместил сообщение setHidden: YES в свой метод -viewDidLoad, но затем наложение вернулось! Поэтому мне пришлось установить таймер на 0,01, чтобы в будущем вызвать метод, скрывающий MPVolumeView. По-видимому, Apple немного проверяет после того, как представление становится видимым, чтобы увидеть, есть ли видимый MPVolumeView, и если вы скроете его слишком быстро, Apple никогда его не увидит. Странный.   -  person Paul Bruneau    schedule 28.04.2011
comment
Черт возьми, это все-таки не помогло, проблема все еще не устранена.   -  person Paul Bruneau    schedule 13.05.2011
comment
Пол, вы когда-нибудь находили решение этой проблемы, поскольку у меня такая же проблема с iOS 5?   -  person amergin    schedule 24.10.2011
comment
Нет, проблема все еще существует, и у меня больше нет идей, как ее исправить :(   -  person Paul Bruneau    schedule 25.10.2011


Ответы (2)


Если вы хотите подавить наложение при использовании кнопок регулировки громкости устройства, просто переместите рамку MPVolumeView за пределы экрана. Оверлей не появится.

person 3no    schedule 22.09.2013
comment
Не полезно. Мне нужен слайдер (MPVolumeView). Я не хочу накладку. - person Paul Bruneau; 23.09.2013

Возьмите UIView в xib и выполните привязку с IBOutlet MPVolumeView.

Я знаю, что этот пост старый, но если кому-то нужен этот ответ.

person S S    schedule 06.01.2014