You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确使用MPVolumeView?滑块边界异常问题排查与解决

MPVolumeView 滑块问题解决记录

问题说明

  • 滑块拉至最大音量时,滑块按钮会覆盖连接按钮
  • 滑块拉至最小音量时,滑块按钮无法移动到末端

问题截图:
滑块拉到最小时无法移动到末端
滑块拉到最大时覆盖连接按钮

原实现代码

import UIKit
import AVFoundation
import MediaPlayer
import AVKit

class AudioPlayerViewControllerQ1: UIViewController {
      
   
@IBOutlet var holder: UIView!


    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
                
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        
        
        if holder.subviews.count == 0 {
        }
        
        let volumeView = MPVolumeView(frame: CGRect(x: 20,
                                                    y: holder.frame.size.height - 80,
                                                    width: holder.frame.size.width-40,
                                                    height: 30))
        
        holder.addSubview(volumeView)
        
    }

    private func setupView() {
        setupConstraints()
    }
    
    private func setupConstraints() {
        NSLayoutConstraint.activate([
            holder.leadingAnchor.constraint(equalTo: view.leadingAnchor),
            holder.trailingAnchor.constraint(equalTo: view.trailingAnchor),
            holder.topAnchor.constraint(equalTo: view.topAnchor),
            holder.bottomAnchor.constraint(equalTo: view.bottomAnchor),
        ])
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        UIApplication.shared.isIdleTimerDisabled = true
    }
        
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        UIApplication.shared.isIdleTimerDisabled = false
        
    }

    
}

问题解决

非常感谢DonMag的方案,问题已完美解决!以下是修复后的效果:
修复后效果1
修复后效果2

内容的提问来源于stack exchange,提问作者Vugar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:01:33