微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 具有Segues到多个视图的Storyboard TableView

我在设计故事板时遇到了问题.我目前在应用程序商店中有一个使用XIB文件设计的应用程序.我有一个放在UIViewController上的tableView – 而不是tableViewController – 为所选的每一行加载一个唯一的viewController.

我试图将这个概念转换为故事板.我做了以下事情

>在故事板中放置一个UIViewController.
>在UIViewController上放置一个UITableView,这样我就可以自定义表视图.
>我尝试从UITableViewCell连接到多个ViewControllers,我不被允许.
>我尝试从UIViewController创建多个segue – 我可以 – 但是当我点击单元格时,不会触发segue.我尝试使用didSelectRowAtIndexPath:和prepareForSegue:

由于这不起作用,我尝试使用UITableViewController创建一个项目,然后从UITableViewController创建多个segue.然后我命名每个segue并使用didSelectRowAtIndexPath:方法来测试所选单元格并调用performSegueWithIdentifier:这不起作用.当我点击单元格时,我会随机加载不正确的viewController.我复制了一些我的代码,下面几张屏幕截图.

我想知道我是否公然遗漏了一些明显的东西,还是我必须恢复到这种类型的项目的xib格式?

override func tableView(tableView: UITableView,diddeselectRowAtIndexPath indexPath: NSIndexPath)
{
    if indexPath.row == 0
    {
        println("Segue1")
        self.performSegueWithIdentifier("Segue1",sender: self)
    }
    else if indexPath.row == 1
    {
        println("Segue2")
        self.performSegueWithIdentifier("Segue2",sender: self)
    }
    else if indexPath.row == 2
    {
        println("Segue3")
        self.performSegueWithIdentifier("Segue3",sender: self)
    }

}

照顾自己,

乔恩

解决方法

方法
在取消选择项时,将调用override func tableView(tableView:UITableView,diddeselectRowAtIndexPath indexPath:NSIndexPath).

要在选择项目时调用方法,请更改方法名称以覆盖func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐