以编程方式定义和执行segue

时间:2013-10-18 15:27:50

标签: ios cocoa-touch uiviewcontroller segue uistoryboardsegue

我正在使用Storyboard,我有20个视图控制器,它们在角落里都有相同的“设置”按钮。点击它会对另一个VC执行Segue,我只是忽略它回到原来的。

问题是我将不得不从所有VC中按住Ctrl键拖动到这个,这使得一个非常混乱的故事板。是否可以实用地添加它们?

我试图提出它们但是当我解雇时我只是得到一个黑屏。使用以下内容;

settingsViewController *settingsVC = [[settingsViewController alloc]init];

[self presentViewController:settingsVC animated:YES completion:nil];

然后我就这样解雇了;

[self dismissViewControllerAnimated:YES completion:nil];

1 个答案:

答案 0 :(得分:2)

首先,通过使用alloc init创建settingsVC,您完全绕过了故事板,这就是为什么当故事板为其添加UI时会出现黑屏的原因。

然而,你仍然可以在没有segue的情况下做到这一点。

在故事板中要做的第一件事。转到设置控制器,在属性检查器中为其指定标识符。像“SettingsViewController”这样的东西。

现在在您的设置按钮操作...

- (IBAction)settingsButtonPressed
{
    UIViewController *settingsViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SettingsViewController"];

    [self presentViewController:settingsViewController animated:YES completion:nil];
}

这将使用故事板创建视图控制器,以便您可以在其所有UI中显示它。