gpt4 book ai didi

ios - 更改 ViewController 时如何保持 UISlider 状态? ( swift )

转载 作者:行者123 更新时间:2023-11-30 12:01:03 26 4
gpt4 key购买 nike

我想在 View Controller 之间更改后保留 UISlider 的状态,并使 UISlider 在另一个 View Controller 中工作(现在它仅在 UISlider 的当前 View Controller 中工作)

我是 Swift 和 Xcode 的初学者。预先感谢您的时间和帮助:)

首先,我有一个带有音乐类的 View Controller :

class MusicHelper {
let defaults = UserDefaults.standard

static let sharedHelper = MusicHelper()

var musicBackgroundIntro:AVAudioPlayer = AVAudioPlayer()

func playBackgroundMusic() {
do {
let audioPath = Bundle.main.path(forResource: "Music", ofType: "mp3")
try musicBackgroundIntro = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
musicBackgroundIntro.numberOfLoops = -1
musicBackgroundIntro.prepareToPlay()
musicBackgroundIntro.play()

} catch {
print("Cannot play the file")
}
}

func stopBackgroundMusic() {
musicBackgroundIntro.stop()
}

其次,我有另一个带有 UISlider 的 View Controller :

@IBOutlet weak var SliderMusic: UISlider!

@IBAction func checkStateSliderMusic(_ sender: UISlider) {
MusicHelper.sharedHelper.musicBackgroundIntro.volume = sender.value
}

知道如何在另一个 View Controller 中应用 UISlider 并保持状态(音量的修改)吗?

最佳答案

当 View Controller 加载时,您可以根据当前音量值设置 slider 值。在 UIViewControllerviewDidLoad 方法中设置 slider 的值。

示例:

override func viewDidLoad() {
super.viewDidLoad()

musicSlider.value = Float(MusicHelper.sharedHelper.musicBackgroundIntro.volume)
}

关于ios - 更改 ViewController 时如何保持 UISlider 状态? ( swift ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47230647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com