我有一个带有单元格的表视图控制器,单击一个单元格后,我想打开一个用于显示详细信息的视图控制器。在详细视图控制器上,我想要一个导航动作,例如带有项的导航栏,以返回到表视图控制器。然后,表格视图控制器应显示我选择的最后显示的单元格,而不是第一个单元格。我希望你明白我的意思。而且我不想在显示的表视图控制器上有导航栏。因此,导航控制器可能不是我的解决方案。
目前,我用于打开详细视图控制器的表视图控制器的代码如下所示:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let vcMissionDetail : ViewControllerMissionDetail = self.storyboard?.instantiateViewControllerWithIdentifier("MissionDetail") as ViewControllerMissionDetail;
self.presentViewController(vcMissionDetail, animated: true, completion: nil)
}
我使用presentViewController
加载详细视图控制器。是使用prepareForSegue
更好的解决方案吗?
细节视图控制器看起来像这样。我使用带有条形按钮项的导航栏返回到表视图控制器(Action goToFeed
),但是我对该解决方案不满意。我也想打开表视图控制器:
import UIKit
class ViewControllerMissionDetail: UIViewController {
@IBOutlet var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func goToFeed(sender: AnyObject) {
//init view controller for feed
let vcFeed: UIViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ViewControllerFeed") as UIViewController;
//vcFeed.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
self.presentViewController(vcFeed, animated: true, completion: nil)
}
}
谢谢!
这是您可以做的回到表视图控制器。如果您已使用“推”进入详细视图控制器,请执行此操作,
@IBAction func goToFeed(sender: AnyObject) {
navigationController?.popViewController(...)
}
如果您使用“模式”来打开局部视图控制器,请使用,
@IBAction func goToFeed(sender: AnyObject) {
self.dismissViewController(...)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句