动态创建按钮和故事板segue

时间:2013-01-12 23:33:20

标签: ios uitableview uistoryboard uistoryboardsegue

我因代码中的问题而陷入困境:

我正在使用故事板,并且我的自定义tableview能够刷开行,揭示“背景”,我可以在其中添加按钮等。 问题是在运行时管理数量和存在(每个单元格可以有多个按钮或没有 - 我将它们添加到背景视图中)。现在我希望这些按钮能够实现,我只是无法弄清楚如何在我的故事板中做到这一点...... 任何人都有类似的问题,或者我只是想错了?

3 个答案:

答案 0 :(得分:3)

另一种方法是继续在故事板中创建segue。你不能将它们连接到按钮(因为它还不存在),但你可以将它们连接到表所在的视图。你给segue一个标识符(通过点击segue和设置属性)。然后,这是一个简单的问题:

[self.storyboard performseguewithidentifier:@"theIdentifier"];

答案 1 :(得分:2)

您无法在故事板之外建立segue连接:

Creating a segue programmatically

您可以在代码中创建自定义segue,但只能通过在Storyboard上绘制线条来将segues连接到对象。

但你不需要。 Segues只是viewControllers之间的装扮过渡。它们是替换少量代码的可视化工具。

push segue只是替换了这段代码,例如

UIViewController* myViewController = [UIViewController alloc] init;
[[self navigationController] pushViewController:myViewController

当您在代码中创建按钮时,您应该用代码管理导航。

答案 2 :(得分:1)

首先,您需要设置StoryBoard ID。您可以通过选择特定的视图控制器并在右侧执行身份检查器来完成此操作。在自定义类下,有“StoryBoard ID”,您必须设置名称“菜单”

enter image description here

其次,您需要通过按钮或任何其他控件来调用此故事板。您可以使用以下命令来执行此操作:

[self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];

通过这种方式,您可以将StoryBoard ID提供给StoryBoard中的不同控制器,并从您想要的任何控件中调用它们。

希望这有帮助