如何将故事板连接到代码
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我知道。对控制故事板感兴趣。以上是关于如何将故事板连接到代码的主要内容,如果未能解决你的问题,请参考以下文章
ios - 我已经成功地将故事板 UIWebView 连接到 iPhone 的控制器,但不能为 iPad 做
@IBOutlet和@IBAction指的是错误的项目,如何摆脱那些引用?