[英]How do I get my TableView selection to open my modal view?
我创建了一个TableView
有TableViewCell
在里面。
我希望TableView
单元格在单独的ViewController
打开。
我的故事板如下所示:
我的TableViewController
具有:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ShowVerse" {
let pageDetailViewController = segue.destinationViewController as! PageViewController
// Get the cell that generated this segue.
if let selectedPageCell = sender as? PageTableViewCell {
let indexPath = tableView.indexPathForCell(selectedPageCell)!
let selectedPage = pages[indexPath.row]
pageDetailViewController.page = selectedPage
}
}
}
在我的PageViewController.swift中,我有这个:
var page: Page?
override func viewDidLoad() {
super.viewDidLoad()
if let page = page {
chapter.text = String(page.chapter)
verse.text = String(page.verse)
}
}
我没有任何错误。 但是,轻敲细胞并非没有。 我可能会缺少什么?
尝试这个:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("ShowVerse", sender: self)
}
迅速
didSelectRowAtIndexPath中的代码
self.performSegueWithIdentifier("homeSegue", sender: self)
切换到下一个视图控制器之前,如果要将值传递给下一个视图控制器
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "homeSegue")
{
var homeController = segue.destinationViewController as? ViewController
homeController.name = "valeu"
}
}
Objective-C的
didSelectRowAtIndexPath中的代码
[self performSegueWithIdentifier:@"ShowVerse" sender:self];
切换到下一个视图控制器之前,如果要将值传递给下一个视图控制器
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"ShowVerse"]) {
HomeViewController *controller = segue.destinationViewController;
controller.propertyName = @"value";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.