如何将 Voiceover 绑定到 MPVolumeView 滑块中?

How to tie Voiceover into an MPVolumeView slider?

我在 Interface Builder 中创建了一个 MPVolumeView 滑块来调整音量(下面的代码):

import UIKit
import MediaPlayer

class StreamVolumeTableViewCell: AudioStreamTableViewCell {
    static let identifier = "StreamVolumeTableViewCell"


    override func awakeFromNib() {
        super.awakeFromNib()

        self.volumeSlider.setRouteButtonImage(UIImage(named: "black_route_button"), for: .normal)
        self.volumeSlider.showsRouteButton = false
    }

    @IBOutlet var volumeSlider: MPVolumeView!

}

现在我想让它易于访问并加入画外音。

我在滑块上启用了辅助功能,设置了它的标签 ("Sound volume."),并设置了 'User Interaction Enabled'、'Adjustable' 和 'Allows Direct Interaction' 特性。当我打开 Voiceover 时,它会说出标签和默认提示,但是 --- 当我上下滑动时,音量滑块的值不会改变,并且我收到错误 "boop" 声音。

我如何完成我所追求的?

谢谢!!!

我最初通过使用 IB 将 UIView 插入到我的界面并将 class 重命名为 'MPVolumeView' 来创建我的音量滑块。在这里阅读更多内容后,我怀疑这就是为什么 Voiceover 在它在 UIView 中创建的滑块上没有得到我的任何笔触的原因。

我删除了 UIView 并将其替换为 IB 中的 UISlider,并将 class 重命名为 'MPVolumeView'。现在画外音按预期响应,让我的所有手指轻弹以更改滑块值,并且我的设备上的音量发生变化。