从Swift中的TableViewControler中获取seque后,我的ViewController中缺少后退按钮

时间:2015-12-17 19:24:05

标签: ios xcode swift uitableview ios9

在我的项目中,我有一些视图控制器,我使用UINavigationController

当我从UIViewControllerUITableViewController制作一个seque时,我会自动添加“后退”按钮,但当我从UITableViewControllerUIContentViewController制作一个单元格时,我在UIContentViewController中没有“后退”按钮。

我的应用计划在这里 plan of aplication and kind of segue

UITableViewController中的segue如下所示:

 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let CV =   self.storyboard?.instantiateViewControllerWithIdentifier("ContentViewController") as! ContentViewController

    let tnumber = tableView.indexPathForSelectedRow?.item

    CV.titleContent = daneOWpisach?[tnumber!]["title"]
    CV.webContent = daneOWpisach?[tnumber!]["description"]
    CV.category = category

self.presentViewController(CV, animated: true, completion: nil)
}

如果我想自动添加UIContentViewController中的后退按钮,该怎么办?

1 个答案:

答案 0 :(得分:3)

在您的代码中,您将在单元格选择中呈现视图控制器..!仅当您执行推送而不显示视图时,才会显示后退按钮。

在上图中我看到的是你已经从UITableViewController到UIContentViewController的segue。选择segue并转到属性检查器,给出segue的标识符。

在单元格选择上,使用您指定的标识符执行segue操作

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

self.performSegueWithIdentifier("Your Segue name", sender: sender)
}

如果要将数据传递到目标视图控制器,请执行以下操作。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
        if segue.identifier == "Your Segue name" {
          let CV =   segue.destinationViewController as! ContentViewController
           let tnumber = tableView.indexPathForSelectedRow?.item

        CV.titleContent = daneOWpisach?[tnumber!]["title"]
        CV.webContent = daneOWpisach?[tnumber!]["description"]
        CV.category = category 
        }
    }

希望这有助于你