ios - Xcode 7/Swift : Save value of slider and send to child class when view changes

标签 ios xcode swift

我试图让某个 View 上的 slider 值显示在 subview 上的文本框中。但是当第二个 View 加载时, slider 的值似乎丢失并设置为 nil。在 View 更改之前如何保留该 slider 的值以便在 subview 中使用最新的值?这是一些相关代码(我想将文本框“redTextBox”设置为“changeRed” slider 的值):

家长类--------------------------------

class ViewController: UIViewController {

@IBOutlet weak var changeRed: UISlider!
@IBOutlet weak var changeGreen: UISlider!
@IBOutlet weak var changeBlue: UISlider!

var r: Float = 0
var g: Float = 0
var b: Float = 0

@IBAction func slideRed(sender: AnyObject) {
    self.view.backgroundColor = UIColor(colorLiteralRed: changeRed.value, green: changeGreen.value, blue: changeBlue.value, alpha: 1.0)
     r = changeRed.value
     g = changeGreen.value
     b = changeBlue.value
}

@IBAction func slideGreen(sender: AnyObject) {
  self.view.backgroundColor = UIColor(colorLiteralRed: changeRed.value, green: changeGreen.value, blue: changeBlue.value, alpha: 1.0)
     r = changeRed.value
     g = changeGreen.value
     b = changeBlue.value

}

@IBAction func slideBlue(sender: AnyObject) {
      self.view.backgroundColor = UIColor(colorLiteralRed: changeRed.value, green: changeGreen.value, blue: changeBlue.value, alpha: 1.0)
     r = changeRed.value
     g = changeGreen.value
     b = changeBlue.value

}
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = UIColor(colorLiteralRed: changeRed.value, green: changeGreen.value, blue: changeBlue.value, alpha: 1.0)
}

......
}
<小时/>

child 类----------------------------------------

class ColorValueVC: ViewController {

@IBOutlet weak var redTextBox: UITextField!
@IBOutlet weak var greenTextBox: UITextField!
@IBOutlet weak var blueTextBox: UITextField!

override func viewDidLoad() {
    //super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    redTextBox.text = "\(changeRed.value)"
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}
<小时/>

最佳答案

您的 subview Controller 继承自父 View Controller 。你想通过这样做来实现什么目的?如果它们是两个 View Controller ,其中一个 View Controller 连接到另一个 View Controller ,那么它们之间不应该存在继承链接。相反,您可以通过在 A 中实现 prepareForSegue 将数据从 A 传递到 B。

关于ios - Xcode 7/Swift : Save value of slider and send to child class when view changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422622/

相关文章:

iphone - 在 Windows 上编译和签署 xcode 项目

swift - 实现可散列和重载运算符的协议(protocol)

ios - Spring框架StoryBoard渲染错误

ios - Swift 不识别对函数的递归调用,认为它是局部变量

ios - 要检查wifi是否开启但没有互联网连接

iphone - 是否可以在 GameKit 中制作运行的高分排行榜?

Swift - 即使 objectId 准确,自定义对象仍未找到

iphone - 创建 NSURL 但仅显示链接文本

xcode - CoreData NSManagedSubClass文件生成重复文件?

ios - 编译到模拟器时如何在 Xcode 中排除框架