gpt4 book ai didi

ios - 如何从 Swift 中另一个 ViewController 上的开关发送 slider 的新最大/最小值?

转载 作者:行者123 更新时间:2023-11-28 09:09:42 27 4
gpt4 key购买 nike

我想要一个开关来更改 slider 的最小和最大范围。我通过将开关设置为一个 Action 并调用 salesPriceSlider.maximumValue 让它在同一个 ViewController 上工作,但是我将开关移动到我的 settingsViewController 并且当我在 prepareforSegue 中实现相同的技术时它没有通过?

   var newPriceMin = Float(0)
var newPriceMax = Float(0)

@IBAction func priceSwitch(sender: UISwitch) {
newPriceMax = 3000000
newPriceMin = 1000000
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var destViewController: FirstViewController = segue.destinationViewController as! FirstViewController
destViewController.salesPriceSliderOutletValue.maximumValue = newPriceMax
destViewController.salesPriceSliderOutletValue.minimumValue = newPriceMin
}

最佳答案

作为一般规则,尝试从外部操作 View Controller 的 View 是一个坏主意。您应该将 View Controller 的 View 视为私有(private) View 。

您要做的是在另一个 View Controller 中为所需的最大值和最小值设置属性,然后在您的 viewDidLoad 方法中,将这些属性应用到您的 slider 。

您可以为最大和最小设置分配默认值,以便在您不从外部更改它们时它们具有合理的值。

您还可以将 didSet 方法添加到最大值和最小值,如果在 View Controller 在屏幕上时从外部更改 slider 最大/最小值,它们将“实时”更改,尽管这在 iOS 中并不常见 View Controller 在屏幕上时通常具有控制权。

关于ios - 如何从 Swift 中另一个 ViewController 上的开关发送 slider 的新最大/最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29652216/

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