0

当我们选择一个 segue 时,是否有任何方式以编程方式控制将哪个 viewController 推入视图?我想要做的是在UITableViewCell点击 a 时选择两个控制器之一,一个用于 iPhone4(960 高度),另一个用于 iPhone5(1136 高度)。

我可以手动布局/安排一个视图控制器来适应额外的高度。或者我可以添加第二个segue(使用另一个ID),然后-tableView:didSelectRowAtIndexPath:结合使用-performSegueWithIdentifier:sender:根据屏幕高度推送正确的viewController。

4

1 回答 1

0

最初的问题与设置为通过在 Interface Builder 中的 aUITableViewCell和 a之间拖动来自动触发的 segue 相关。UIViewController使用此方法,您只能UIViewController通过 segues 一对一关系访问一个。

UIViewController您可以通过直接从包含UITableView(而不是从单元格本身)连接segue,然后使用tableView:didSelectRowAtIndexPath:来获取选定的单元格并执行所需的segue,来解决这个问题(并按照我最初的要求进行操作) 。使用此方法,您可以根据需要设置尽可能多的 segue,通过为每个 segue 提供一个唯一标识符,您可以通过编程控制哪个(以及何时)被调用using -performSegueWithIdentifier:sender:

于 2013-04-18T18:44:53.707 回答