Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么我的UITableView不执行show segue,只以模式显示_Ios_Uitableview_Swift_Segue - Fatal编程技术网

Ios 为什么我的UITableView不执行show segue,只以模式显示

Ios 为什么我的UITableView不执行show segue,只以模式显示,ios,uitableview,swift,segue,Ios,Uitableview,Swift,Segue,您好,我的应用程序一直存在一个问题,即UITableView中的所有分段仅以“模式呈现”(从底部向上)呈现,而不是显示(从右侧显示) 相关的VC方法包括 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 14 } override func prepareForSegue(segue: UIStoryboardSegue, sender:

您好,我的应用程序一直存在一个问题,即UITableView中的所有分段仅以“模式呈现”(从底部向上)呈现,而不是显示(从右侧显示)

相关的VC方法包括

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 14
}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {


    if segue.identifier == "selectionSegue" {

    let tabController = segue.destinationViewController as UITabBarController

        if let newController = tabController.viewControllers![0] as? SelectedItemViewController {
            if let row = tableView.indexPathForSelectedRow()?.row{
                newController.selectedItem = pList[row]
            }
         }
    }
}


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    itemViewItem = testList[indexPath.row%testList.count]
// where testList is a preconfigured string array of five items
    tableView.deselectRowAtIndexPath(indexPath, animated: true)

}
在故事板中:

TableView是具有搜索栏和TableView控制器的视图控制器的子视图。TableVC有一个原型单元格,该单元格有一个从单元格内部拖动到目标VC形成的序列(show)。viewController配置为tableViewDataSource和委托,并且还具有tableView子视图的IBOutlet

每一行显示良好,tableView按预期显示(cellForRow..和所有其他方法按预期工作),但是目标视图控制器(选项卡栏视图控制器第一个选项卡中的视图控制器)始终从底部到达

将tabBarVC作为目标VC不是问题,因为即使我使用通用VC作为目标,也会出现同样的问题


请帮助我找出无法通过“显示”进行演示的原因。

您的ViewController必须位于
UINavigationController
中才能作为推送。要执行此操作,请使用TableView选择ViewController,然后从顶部的菜单中选择编辑器->嵌入->导航控制器


正如您所指出的,
UITabViewController
不是您的问题,但是您不应该使用
UITabBarController
。它们旨在成为应用程序的根viewController。组合
UINavigationController
s和
UITabController
s的正确方法是将
uitabarcontroller
放在根目录下,然后每个选项卡都有自己的
UINavigationController

非常感谢,我知道这很简单。我没有多余的排骨,不过还是要谢谢你。另外,现在我已经嵌入了VCs,我得到了一个“双段”,但最终是在同一个VC,知道为什么吗?描述一下双段是什么样子的。我对它进行了排序,它是一个到目标VC的段,紧接着是另一个从目标VC到自身(同一个目标VC)的段,两者都是显示段。所发生的情况是,用于触发segue的按钮仍将PerformsgueWithIdentifier方法作为其iAction,但将segue直接从其UIButton图标拖动到目标vc,因此当按下它时,它执行segue,然后称为“PerformsgueWithIdentifier”。。