如何删除 Xamarin Forms 上的音量 HUD?

How to remove volume HUD on Xamarin Forms?

我制作了一个 customrenderer 来在 xamarin.forms 应用程序中渲染 MPVolumeView。每当我调整音量时,我都会在屏幕上看到这个大系统 HUD,它挡住了屏幕上的内容。看起来像这样:

如何删除它?这是我的自定义渲染器:

public class AudioOutputViewRenderer : ViewRenderer<AudioOutputView, UIView>
{
    MPVolumeView view;

    protected override void OnElementChanged(ElementChangedEventArgs<AudioOutputView> e)
    {
        base.OnElementChanged(e);

        TintColor = UIColor.FromRGB(54, 66, 94);

        if (Control == null)
        {
            view = new MPVolumeView()
            {
                ShowsRouteButton = false,
                ShowsVolumeSlider = true

            };

            SetNativeControl(view);
        }
    }
}

我不明白 AudioOutputViewRenderer

但要隐藏 MPVolumeView 您接下来需要:

在您的 IosProject -> AppDelegate -> 方法中 FinishedLaunching 添加下一个代码

        var volumeView = new MPVolumeView(new CGRect(-1000,0,0,0));// -1000 will hide your view  from user 
        volumeView.ClipsToBounds = true;
        var slider = volumeView.Subviews.First(x => x is UISlider) as UISlider;
        UIApplication.SharedApplication.KeyWindow.RootViewController.View.AddSubview(volumeView);

之后你可以使用 var slider 像这样改变音量

        slider.Value = [your vlm];