2015-07-22 101 views
0

我在我的入口点UIViewController(VC_A)中有UITableView。我还有另一个UIViewController(VC_B),其中包含UITableView中每个条目的详细信息。我从VC_A一个Show顺着接下去VC_B是在代码触发时UITableViewCell按:(需要注意的是CustomCell延伸UITableViewCellpassedCellData是一个全局变量)后退按钮不出现在UIViewController中

var passedCellData: CellData! 
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    print("it worked!") 
    let currentCell = tableView.cellForRowAtIndexPath(indexPath) as! CustomCell 
    passedCellData = currentCell.data 
    self.performSegueWithIdentifier("OpenDetailSegue", sender: self as UIViewController) 
} 

为VC_B

我的自定义视图控制器有data场,所以我受欢迎,在01​​:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "OpenDetailSegue") { 
     let svc = segue.destinationViewController as! DetailController 
     svc.data = passedCellData 
    } 
} 

DetailControllerUIViewController的VC_B。

我没有在Storyboard中设置的UINavigationController或任何东西,并且两个UIViewController实例顶部都有UINavigationBar个实例(设置标题)。但是,VC_B中没有“后退”按钮;它的导航栏只显示标题(所以一旦我点击细节,我不能回去)。

我该如何解决这个问题?

+0

我认为,如果你使用后退按钮只出现自动UINavigationController的。在你的情况下,我认为你应该在VC_B的UINavigationBar上添加一个返回按钮,并为返回按钮TouchUp Inside事件编写代码。 –

+0

如何将导航栏添加到视图控制器? – karthik

+0

使用故事板。我只需将它拖放到'UIViewController'的顶部。 – rohan

回答

1

如果拖放UINavigationBar,那么你可以拖放UIBarButtonItem到您的UINavigationBar,那么你可以创建一个动作为它如下所示:

@IBAction func backButton(sender: AnyObject) { 
    //dismiss your viewController 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 
+0

这工作!非常感谢! – rohan

0

为此,您需要添加自定义后退按钮。

放入viewDidLoad中下面的一行:

self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "back.png"), style: UIBarButtonItemStyle.Plain, target: self, action: "goBack") 

现在,别说选择:

func goBack(){ 
     self.navigationController?.popToRootViewControllerAnimated(true) 
    } 

希望这有助于!

+0

我把它放在VC_B的代码中,而且什么也没有。我是否必须删除VC_B中的'UINavigationBar'? – rohan

+0

@rohan Bro您需要在项目中使用“back.png”图片。下载并插入您的项目:http://icons.iconarchive.com/icons/icons8/ios7/256/Arrows-Back-icon.png –