Ale*_*ews 15 objective-c ios mpvolumeview
我在我的iPad应用程序中使用MPMoviePlayer实现了一个视频播放器,使用MPVolumeView进行音量控制.我的问题是,当我滚动音量视图调整音量时,显示设备的音量hud叠加,如下面的屏幕截图所示.
如何禁用此系统音量指示器hud?我的代码是:
@property (weak, nonatomic) IBOutlet MPVolumeView *playbackMPVolumeView;
//Customizing controller
- (void)customizeVolumeController
{
_playbackMPVolumeView.showsRouteButton = YES;
_playbackMPVolumeView.showsVolumeSlider = YES;
[_playbackMPVolumeView setVolumeThumbImage:[UIImage imageNamed:@"volume_slider_thumb.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
dim*_*mdy 10
斯威夫特3
let volumeView = MPVolumeView(frame: .zero)
view.addSubview(volumeView)
Run Code Online (Sandbox Code Playgroud)
这是一个解决方案
CGRect frame = CGRectMake(-1000, -1000, 100, 100);
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:frame];
[volumeView sizeToFit];
[self.view addSubview:volumeView];
Run Code Online (Sandbox Code Playgroud)
如果您想在所有应用程序屏幕上隐藏 HUD,请使用以下通用代码:
static let mpVolumeView = MPVolumeView()
static func setupHiddenMPVolume(_ view: UIView){
if let app = UIApplication.shared.delegate as? AppDelegate, let window = app.window {
mpVolumeView.alpha = 0.000001
window.addSubview(mpVolumeView)
}
}
Run Code Online (Sandbox Code Playgroud)
如果您在某个时候需要显示 Volume HUD,只需将其从 app.window 中删除。享受 :-)
- (void) viewDidLoad
{
[super viewDidLoad];
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectZero];
[self.view addSubview: volumeView];
...
}
Run Code Online (Sandbox Code Playgroud)
从applicationMusicPlayer音量通知中获取了此参考
归档时间: |
|
查看次数: |
10478 次 |
最近记录: |