Segue和Button以编程方式迅速
你好,我即时通讯使用iCarousel和我必须创build我自己的button,我想从button编程的button传递数据到另一个视图,但我没有一个segue标识符,因为我创buildbutton编程,所以我不知道是否可以通过编程方式创buildsegue的标识符。
button.addTarget(self, action: #selector(buttonAction3), for: .touchUpInside) button.setTitle("\(titulos[index])", for: .normal) tempView.addSubview(button) let myImage = UIImage(named: "modo4.png") as UIImage? button.setImage(myImage, for: .normal) let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController self.present(viewController, animated: false, completion: nil) if segue.identifier == "" { if let destination = segue.destination as? Modo1ViewController { destination.nomb = nombres } }
创buildseuge
分配标识符
和你的button目标
func buttonAction3() { self.performSegue(withIdentifier: "segueToNext", sender: self) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "segueToNext" { if let destination = segue.destination as? Modo1ViewController { destination.nomb = nombres // you can pass value to destination view controller } } }
在你的情况下,如果你使用self.present ,你想在视图之间发送数据。 尝试这个:
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController viewController.nomb = nombres self.present(viewController, animated: false, completion: nil)
我不知道如何设置segue的标识符,但我认为上面的代码可以帮助
如果你想做更简单的工作,你可以在IB(Interface Builder)中创buildsegue并设置它的标识符,然后使用
performSegue:withIdentifier:sender