Скрыть объем HUD в MPVolumeView

Я использую MPVolumeView и UISlider для управления звуком моего устройства, и ниже приведен мой код:

extension MPVolumeView {
    var volumeSlider: UISlider {
        self.showsRouteButton = false
        self.showsVolumeSlider = true

        var slider = UISlider()
        for subview in self.subviews {
            if subview.isKind(of: UISlider.self){
                slider = subview as! UISlider
                slider.isContinuous = false
                slider.minimumTrackTintColor = UIColor.outlineStrokeColor
                slider.setThumbImage(#imageLiteral(resourceName: "volume"), for: .normal)
                slider.maximumTrackTintColor = UIColor.lightGray
                (subview as! UISlider).value = AVAudioSession.sharedInstance().outputVolume
                return slider
            }
        }
        return slider
    }
}


let mpVolumeView: MPVolumeView = {
    let view = MPVolumeView()
    return view
}()

override func viewDidLoad() { 
    _ = mpVolumeView.volumeSlider
    view.addSubview(mpVolumeView)
}

Все работает отлично, но каждый раз, когда я открываю свое приложение, появляется HUD громкости и исчезает через несколько секунд. После этого он больше не появится, но я бы хотел, чтобы была возможность скрывать его все время. Я попытался установить для кадра MPVolumeView значение .zero, но он все еще не работает. Есть ли способ, которым я могу это сделать?

пример изображения


person Community    schedule 03.01.2018    source источник
comment
вы создали слабую ссылку, где вы звоните в didLoad или WillAppear?   -  person iOS Geek    schedule 03.01.2018
comment
Я не создавал слабую ссылку и назвал ее в viewDidLoad.   -  person    schedule 03.01.2018
comment
если вы вызываете это в viewDidLoad, оно всегда будет появляться в первый раз, когда ваш соответствующий экран загружается в стек памяти, поэтому избегайте ненужного вызова его в didLoad и просто вызывайте его там, где вам это нужно, я думаю, что это Line view.addSubview(mpVolumeView) показать его, поэтому просто добавьте его в поле зрения только тогда, когда это необходимо, нет необходимости использовать эту строку в didLoad   -  person iOS Geek    schedule 03.01.2018
comment
Я имею в виду, что мне не нужен объем HUD. Мне просто нужно показать пользователю ползунок громкости с другими пользовательскими интерфейсами в ViewDidLoad. Любые предложения о том, где я должен назвать это?   -  person    schedule 03.01.2018
comment
Да. Я хочу скрыть пользовательский интерфейс громкости, который имеет изображение динамика в моем приложении и показывает только ползунок в нижней части экрана, чтобы пользователь мог регулировать громкость.   -  person    schedule 03.01.2018
comment
где вы устанавливаете его кадр на ноль?   -  person iOS Geek    schedule 03.01.2018
comment
Возможно, вы можете поделиться примером кода?   -  person iOS Geek    schedule 03.01.2018
comment
Я попробовал let view = MPVolumeView(frame: .zero)   -  person    schedule 03.01.2018