如何将故事板连接到代码

Posted

技术标签:

【中文标题】如何将故事板连接到代码【英文标题】:How to connect storyboard to code 【发布时间】:2013-12-30 12:50:53 【问题描述】:

我创建了空的 ios 项目并想创建 UI。我搜索了有关将故事板连接到代码的信息,但没有任何内容,只有 xib 文件。那么可以在空项目中使用情节提要代替xib吗?如何?

【问题讨论】:

新文件 > 故事板。 不是这样的。如何从代码访问情节提要? 没有。这很简单。添加一个新的故事板文件。称之为 Main.storyboard。在您的项目设置中,将其设置为主情节提要。 看我回答。我添加了一张图片。 【参考方案1】:

假设您的项目中已有 Storyboard 文件,您可以像这样获取 Storyboard 对象

    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:[NSBundle mainBundle]];
    YourViewController *yourVC = [storyBoard instantiateViewControllerWithIdentifier:@"identifier"];
    //Do whatever with the viewcontroller object
    [self.navigationController pushViewController:yourVC animated:YES ];

注意:

    检查情节提要名称 在情节提要中检查您的视图控制器标识符

【讨论】:

是的。我试过这个。但它没有看到故事板。当我创建故事板时,我将其称为“输入”bit.ly/1fVrsFH,并将视图控制器称为“myViewController”bit.ly/1aiDVzl。 @LongSmith - 将其设置为主界面文件。这可能会有所帮助。看我的回答。 @LongSmith 只是检查我的图像。确认您已经提供了这样的标识符。【参考方案2】:

首先创建一个类名的空项目

然后从 file->userInterface->storyboard 创建一个故事板

然后在左侧菜单中按情节提要后为情节提要命名,然后放置一个视图控制器并按住视图控制器,将类名称命名为已创建的 Uiviewcontrollerclass

最后按项目选择主界面为ViewController.storyboard

如果你想编码假设 segue 使用 [self performSegueWithIdentifier: @"nameofcontroller" sender: self];

如果不想继续这样下去

[self performSegueWithIdentifier: @"TheSequeName" sender: self]; @"TheSequeName" 是在您 ctrl 拖动按钮以在情节提要上打开新视图控制器时定义的

如果你不使用segue,有很多变种可以打开一个新的视图控制器。最基本的是使用单独的 NIB(没有情节提要)

SecondViewController *view = [[SecondViewController allow] initWithNibName:@"NibName" bundle:nil];

如果你在 Storyboard 上声明你的视图控制器,你可以使用

viewController *view = [self.storyboard instantiateViewControllerWithIdentifier:@"viewStoryboardId"]; 
Then you show your viewController using navigation controller

[self.navigationController pushViewController:view animated:YES];

希望有效果

【讨论】:

【参考方案3】:

从“文件”菜单中,创建一个新的Storyboard

叫它Main.storyboard

在您的项目设置中,将其设置为部署信息下的主界面文件。

【讨论】:

这只是告诉他们如何创建一个新的故事板——它如何回答如何在代码中连接它们的问题? 如果有多个 Storyboard,通过代码处理 Storyboard 会更实用。在我看来,这是一种更好、更清晰、更易于理解的方法。 您的回答只是告诉某人如何创建新的故事板,而不是如何将其与代码一起使用。答案应该基于事实而不是观点。这个答案可能很好,但它缺乏细节并且没有回答所提出的问题。 我们在这里讨论不同的方法。意见定义方法。我并不是说 iPrabu 的回答是错误的。随心所欲。 这仍然没有回答已经提出的问题。【参考方案4】:
New File - > Objective-C Class (of type View Controller) -> without Xib file

现在在故事板上,转到那个特定的 xib 文件

in property window -> Show Identity Inspector -> change class to above added ViewController.

就是这样,现在您可以通过代码控制情节提要的 xib 文件了。

【讨论】:

这只是告诉他们如何创建一个新的故事板——它如何回答如何在代码中连接它们的问题? 如何控制xib我知道。对控制故事板感兴趣。

以上是关于如何将故事板连接到代码的主要内容,如果未能解决你的问题,请参考以下文章

Nexys4开发板连接到电脑时驱动不了怎么办

ios - 我已经成功地将故事板 UIWebView 连接到 iPhone 的控制器,但不能为 iPad 做

@IBOutlet和@IBAction指的是错误的项目,如何摆脱那些引用?

使用故事板将原型单元连接到不同的场景

如何使用单个故事板uiviewcontroller为多个子类

如何将项目从使用故事板转换为不再使用故事板?