从 TabeViewCell 中的 UIButton 触发 Segue
Trigger Segue from UIButton in TabeViewCell
我有原型单元格,在这个单元格中有一个 UIButton;所以我需要执行从按钮到其他控制器的 segue,而不是从单元格。我尝试创建一个 Outlet @IBOutlet var button: UIButton!
并使用 performSegueWithIdentifier() 方法
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
self.performSegueWithIdentifier("toSecondController", sender: button)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
但我不知道如何设置 prepareForSegue() 方法...我试过了
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "toSecondController"
{
if let indexPath = sender as? UIButton//tableView.indexPathForSelectedRow()
{
let controller = segue.destinationViewController as! CoriViewController
controller.coriSquadra = DataManager.sharedInstance.arrayCori[indexPath.row]
}
}
}
我还读到一个解决方案是实施一个协议,但我是初学者,我需要一步一步的指导。
希望有人能帮助我!
你走在正确的轨道上。在你的 tableviewcontroller 中定义
@IBAction func clicked(){
self.performSegueWithIdentifier("toSecondController", sender: button)
}
您可以保留
tableView.deselectRowAtIndexPath(indexPath, animated: true)
您的 didSelectRowAtIndexPath 中的行。不要忘记将您的 ibaction 也连接到故事板中的按钮。
我有原型单元格,在这个单元格中有一个 UIButton;所以我需要执行从按钮到其他控制器的 segue,而不是从单元格。我尝试创建一个 Outlet @IBOutlet var button: UIButton!
并使用 performSegueWithIdentifier() 方法
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
self.performSegueWithIdentifier("toSecondController", sender: button)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
但我不知道如何设置 prepareForSegue() 方法...我试过了
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "toSecondController"
{
if let indexPath = sender as? UIButton//tableView.indexPathForSelectedRow()
{
let controller = segue.destinationViewController as! CoriViewController
controller.coriSquadra = DataManager.sharedInstance.arrayCori[indexPath.row]
}
}
}
我还读到一个解决方案是实施一个协议,但我是初学者,我需要一步一步的指导。 希望有人能帮助我!
你走在正确的轨道上。在你的 tableviewcontroller 中定义
@IBAction func clicked(){
self.performSegueWithIdentifier("toSecondController", sender: button)
}
您可以保留
tableView.deselectRowAtIndexPath(indexPath, animated: true)
您的 didSelectRowAtIndexPath 中的行。不要忘记将您的 ibaction 也连接到故事板中的按钮。