如何将故事板与代码连接

3

我创建了一个空的IOS项目,想要创建用户界面。我搜索了关于将storyboard连接到代码的信息,但是没有找到相关内容,只有关于xib文件的信息。那么在空项目中是否可以使用storyboard代替xib?如何实现?


新建文件 > Storyboard。 - Sam Fischer
不是那个。我如何从代码中访问Storyboard? - Long Smith
不需要太复杂。添加一个新的Storyboard文件,将其命名为Main.storyboard。在项目设置中,将其设置为主Storyboard。 - Sam Fischer
看我的回答。我添加了一张图片。 - Sam Fischer
4个回答

5
假设您已经在项目中有一个故事板文件,您可以像这样获取故事板对象。
    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 ];

注意:

  1. 检查Storyboard的名称
  2. 检查Storyboard中的视图控制器标识符

enter image description here


是的,我尝试过了。但它没有看到storyboard。当我创建storyboard时,我将其命名为“enter”http://bit.ly/1fVrsFH,并将视图控制器命名为“myViewController”http://bit.ly/1aiDVzl。 - Long Smith
@LongSmith - 将其设置为主界面文件。这可能会有所帮助。看看我的答案。 - Sam Fischer
@LongSmith,请确认一下我的图片。你已经按照标识符进行了设置吗? - ipraba

2

首先创建一个空项目并给它起一个类名。

enter image description here

然后从文件->用户界面->故事板创建一个故事板。

enter image description here

接着为故事板命名,然后按左侧菜单中的故事板,在视图控制器中放置一个视图控制器,并将其保持为已创建的Uiviewcontrollerclass类名。

enter image description here

enter image description here

最后,选择项目并将主界面设置为ViewController.storyboard。

如果你想要编写代码,可以使用[self performSegueWithIdentifier: @"nameofcontroller" sender: self];

如果不想使用segue,可以这样做:

[self performSegueWithIdentifier: @"TheSequeName" sender: self]; 当你ctrl拖动一个按钮以打开一个新的视图控制器时,“TheSequeName”会被定义在故事板中。

如果你不使用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];

希望它能够正常工作


0
New File - > Objective-C Class (of type View Controller) -> without Xib file

现在在Storyboard上,转到那个特定的XIB文件

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

就是这样,现在你可以通过代码控制你的故事板 XIB 文件了。


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

0
从“文件”菜单中创建一个新的Storyboard
将其命名为Main.storyboard
在项目设置中,将其设置为部署信息下的主接口文件。

enter image description here


这只是告诉他们如何创建一个新的故事板 - 它如何回答如何在代码中连接它们的问题呢? - Popeye
如果有多个故事板,通过代码处理故事板会更加实用。在我看来,这是一种更好、更清晰、更易于理解的方法。 - Sam Fischer
你的回答只是告诉别人如何创建新的故事板,而没有告诉他们如何在代码中使用它。答案应该基于事实而不是意见。这个答案可能很好,但缺乏细节,没有回答所提出的问题。 - Popeye
我们在谈论不同的方法。观点决定方法。我并不是说iPrabu的回答是错的。随意选择你喜欢的方法即可。 - Sam Fischer
这仍然没有回答被问出的问题。 - Popeye
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接