加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:45:22 所属栏目:百科 来源:网络整理
导读:我在设计故事板时遇到了问题.我目前在应用程序商店中有一个使用XIB文件设计的应用程序.我有一个放在UIViewController上的tableView – 而不是tableViewController – 为所选的每一行加载一个唯一的viewController. 我试图将这个概念转换为故事板.我做了以下
我在设计故事板时遇到了问题.我目前在应用程序商店中有一个使用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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读