2017-01-17 4 views
2

Ich bin neu in Swift. I habe dynamische Taste erstellt durch eine andere Taste in dem gleichen Viewcontroller mit folgendem Code Pressen:Swift dynamische Schaltfläche erstellen

@IBAction func yenibtn(sender: AnyObject) { 

    let btn = UIButton() 
    btn.frame = CGRectMake(10, 10, 50, 50) //set frame 
    btn.setTitle("btn", forState: .Normal) //set button title 
    btn.setTitleColor(UIColor.redColor(), forState: .Normal) //set button title color 
    btn.backgroundColor = UIColor.greenColor() //set button background color 
    btn.tag = 1 // set button tag 
    btn.addTarget(self, action: "btnclicked:", forControlEvents: .TouchUpInside) //add button action 
    self.view.addSubview(btn) //add button in view 



} 
func clickMe(sender:UIButton!) 
{ 
    print("Button Clicked") 

} 

und I erstellt zweite Viewcontroller und navigieren durch performSegueWithIdentifier Funktion. Wenn ich den vorherigen Controller zurückrufe, verschwindet das dynamische Objekt. Gibt es eine Möglichkeit, den dynamischen Button beim Reload des vorherigen ViewControllers beizubehalten?

Antwort

2

Nur diese verwenden:

var btn:UIButton! 
@IBAction func yenibtn(sender: AnyObject) { 
btn= UIButton() 
btn.frame = CGRectMake(10, 10, 50, 50) //set frame 
///... your code 
} 

UPDATE

Code in der zweiten Viewcontroller Mit

@IBAction func basgeri(sender: AnyObject) { 

     performSegueWithIdentifier("bir", sender: self) 
    } 

denken: "Ich bin das Schließen des Viewcontroller", aber Sie schließen SIND FALSCH! Sie erstellen einen neuen ViewController! Sie kehren nicht zum vorherigen zurück!

Um es zu beheben verwenden:

@IBAction func basgeri(sender: AnyObject) { 

presentingViewController?.dismissViewControllerAnimated(true, completion: nil) 

    } 
+0

I gibt Fehler: „fatale Fehler: unerwartet gefunden null, während einen optionalen Wert auspackt“ –

+0

Wenn Sie diese sehen? – Vyacheslav

+0

bieten mehr Code oder Callstack Ihres Fehlers. – Vyacheslav

Verwandte Themen