Ios 为什么我的UITableView不执行show segue,只以模式显示
您好,我的应用程序一直存在一个问题,即UITableView中的所有分段仅以“模式呈现”(从底部向上)呈现,而不是显示(从右侧显示) 相关的VC方法包括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:
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”。。