Ich versuche, eine UIColor
zu einem anderen ViewController über eine "Show" Überleitung zu übergeben, so dass die Farbe des Hintergrunds mit der Farbe der Schaltfläche übereinstimmen kann, die ausgewählt wurde. Ich habe dieses Bit Code, der die Schaltflächen Absender-Tag druckt, aber es führt diesen Übergang nicht aus.Vorbereiten für Segue in Swift mit Absender
Was mache ich falsch? Ich habe noch nie mit Absender-Tags gearbeitet, also könnte es etwas Dummes sein, aber ich bin mir nicht sicher.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toQuiz" {
if sender?.tag == 1 {
let viewController:ViewController = segue.destinationViewController as! ViewController
let color = UIColor.blueColor()
viewController.passedColor = color
} else if sender!.tag == 2 {
let viewController:ViewController = segue.destinationViewController as! ViewController
let color = UIColor.greenColor()
viewController.passedColor = color
} else if sender!.tag == 3 {
let viewController:ViewController = segue.destinationViewController as! ViewController
let color = UIColor.yellowColor()
viewController.passedColor = color
}
}
}
@IBAction func athButtonTapped(sender: AnyObject) {
let athleteQuiz = sender as! UIButton
print("Button \(athleteQuiz.tag) was pressed!")
}
@IBAction func actorButtonTapped(sender: AnyObject) {
let actorQuiz = sender as! UIButton
print("Button \(actorQuiz.tag) was pressed!")
}
@IBAction func musicButtonTapped(sender: AnyObject) {
let musicQuiz = sender as! UIButton
print("Button \(musicQuiz.tag) was pressed!")
}
Dies ist das Storyboard-Layout - sie sind alle richtig angeschlossen und die Kennung für den Übergang übereinstimmt, in dem Storyboard.
sind Ihre Segmente ordnungsgemäß im Storyboard verbunden? Überprüfen Sie auch die Kennung – Shubhank
Hallo Shubhank, ich habe nur ein paar Bilder hinzugefügt, um weiter zu helfen, jemand, der freundlich genug ist, um mir zu helfen! –
Wird der prepareForSegue überhaupt aufgerufen? Wenn nicht, überprüfen Sie Ihr Storyboard und stellen Sie sicher, dass dem linken Ansichtscontroller die richtige Klasse zugewiesen ist. Wenn Sie direkte Übergänge von den Schaltflächen im Interface Builder herstellen, würde der Übergang dennoch stattfinden, aber Ihre Klassenmethoden würden nicht aufgerufen, weil Ihre Klasse nicht instanziiert wird. –