2016-05-24 45 views
0

我想要它,以便我可以在我的ViewController視圖中填充8個UITextFields,然後當我點擊我的按鈕'nextView'被調用。如果滿足所有要求(有字符串的UIImage),我使用self.presentViewController(...)導航到我的下一個視圖。但是,在下一個視圖中,我的8個圖像沒有更新(image1 - image8)。我該如何解決這個問題。謝謝。以下是我的代碼,任何建議都會很棒!錯誤與在prepareForSegue在Swift

class ViewController : UIVewController { 

    // field1 - field8 are defined here as UITextFields 

    @IBAction func nextView(sender: UIButton) { 

     if (my requirements are met) { 

       let storyboard = UIStoryboard(name: "Main", bundle: nil) 

       let nextViewController : UIViewController = storyboard.instantiateViewControllerWithIdentifier("View Two") as UIViewController 

       self.presentViewController(nextViewController, animated: true, completion: nil) 

     } else { 

       // nothing happens 

     } 


    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

     let Dest : ViewTwo = segue.destinationViewController as! ViewTwo 

     Dest.c1 = field1.text! // c1 - c8 are strings in ViewTwo 
     Dest.c2 = field2.text! // field1 - field8 are UITextFields in ViewController 
     Dest.c3 = field3.text! 
     Dest.c4 = field4.text! 
     Dest.c5 = field5.text! 
     Dest.c6 = field6.text! 
     Dest.c7 = field7.text! 
     Dest.c8 = field8.text! 

    } 

} 

class ViewTwo : UIViewController { 

    var c1 = String() 
    var c2 = String() 
    var c3 = String() 
    var c4 = String() 
    var c5 = String() 
    var c6 = String() 
    var c7 = String() 
    var c1 = String() 
    var c8 = String() 

    override func viewDidLoad() { 

      image1.image = UIImage(named: "\(c1)") // image1 - image8 are UIImageView s in ViewTwo 
      image2.image = UIImage(named: "\(c2)") 
      image3.image = UIImage(named: "\(c3)") 
      image4.image = UIImage(named: "\(c4)") 
      image5.image = UIImage(named: "\(c5)") 
      image6.image = UIImage(named: "\(c6)") 
      image7.image = UIImage(named: "\(c7)") 
      image8.image = UIImage(named: "\(c8)") 

      image1.frame = CGRectMake(20, 219, 80, 80) // these are the image’s dimensions 
      image3.frame = CGRectMake(20, 302, 80, 80) 
      image5.frame = CGRectMake(20, 385, 80, 80) 
      image7.frame = CGRectMake(20, 468, 80, 80) 
      image2.frame = CGRectMake(220, 219, 80, 80) 
      image4.frame = CGRectMake(220, 302, 80, 80) 
      image6.frame = CGRectMake(220, 385, 80, 80) 
      image8.frame = CGRectMake(220, 468, 80, 80) 

      self.view.addSubview(image1) // here I add the images to the view 
      self.view.addSubview(image2) 
      self.view.addSubview(image3) 
      self.view.addSubview(image4) 
      self.view.addSubview(image5) 
      self.view.addSubview(image6) 
      self.view.addSubview(image7) 
      self.view.addSubview(image8) 


    } 

} 
+0

你或許應該包括把你的C1代碼 - 從他們C8值和負載的圖像。 –

+0

xcode的任何錯誤/警告? –

+0

'override fun viewDidLoad()'?這是你的真實代碼嗎? – matt

回答

1

兩個ViewControllers與SEGUE,沒有按鈕連接到視圖控制器兩人隨後執行以下操作:

@IBAction func nextView(sender: UIButton) { 
     if (my requirements are met) { 
       performSegueWithIdentifier("yourIdentifier", sender: nil) 
     } else { 
       // nothing happens 
     } 
    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "yourIdentifier" { 
     let viewTwo = segue.destinationViewController as! ViewTwo 

     viewTwo.c1 = field1.text! // c1 - c8 are strings in ViewTwo 
     viewTwo.c2 = field2.text! // field1 - field8 are UITextFields in ViewController 
     viewTwo.c3 = field3.text! 
     viewTwo.c4 = field4.text! 
     viewTwo.c5 = field5.text! 
     viewTwo.c6 = field6.text! 
     viewTwo.c7 = field7.text! 
     viewTwo.c8 = field8.text! 
} 

    } 

} 
+0

如何爲一個segue創建一個標識符,以及如何創建一個標識符。難道我這ASIGN:讓分鏡= UIStoryboard(名稱: 「主」,捆綁:無) 讓nextViewController:的UIViewController = storyboard.instantiateViewControllerWithIdentifier( 「景雙」)作爲UIViewController的 self.presentViewController(nextViewController,動畫:真實,完成:無)到一個segue。 – EQOxx123