在Story Board中为2个View控制器使用相同的ViewController h和m文件

时间:2012-12-26 23:28:11

标签: iphone xcode

所以我构建了我的第一个应用程序(单一视图),但我现在决定添加一些“about / info”按钮,并提供有关如何使用应用程序和网站的少量信息去。。

我不确定最好的方法,但故事板似乎非常方便。这里的用户回答了我关于在现有项目中添加故事板的问题,这似乎有用。

现在有一个问题是我可以将当​​前的viewcontroller h和m文件用于第二个视图(关于屏幕)。我认为如果我将Viewcontroller设置为与我的主应用程序视图相同的那个技术上会有效。

第二个视图唯一要包含的是文本和返回的按钮。可以在故事板中设置连接,只是让它们使用相同的Viewcontroller文件,或者这是一个很大的禁忌?

由于

2 个答案:

答案 0 :(得分:2)

建议您为每个视图使用不同的视图控制器。如果是静态视图控制器,其中用户不与视图交互,除了导航(在很多情况下可以在故事板中处理),我只是将该视图控制器保留为通用UIViewController ,而不是子类。

答案 1 :(得分:1)

是的,您可以使用相同的视图控制器来控制多个视图,但是,根据我的理解,这似乎不适合您的情况

例如,如果您有几乎相同的出口的相似视图(例如视图具有相同的UI小部件,如按钮,标题但其布局差别很大),您可以为每个不同的布局创建单独的视图并使用单视图控制器。但据我所知,在你的情况下,这两个视图将有不同的出口(按钮,标签等)

出于这个原因,我建议创建一个新的视图控制器。然后,当您想要显示第二个视图时,您必须从活动视图控制器中显示它。我强烈建议您阅读Apple开发人员资源中有关视图控制器的教程。但很快,我建议以下

UIViewController *vc2 = [[UIViewController alloc] initWithNibName:@"View2" bundle:[NSBundle mainBundle]]
[self presentViewController:vc2 animated:YES completion:nil];

要返回主视图,您必须关闭第二个视图控制器

[self dismissViewControllerAnimated:YES completion:nil];

当然,它们不需要动画,你可以将它们设置为NO。