繁体   English   中英

没有故事板或xib文件的iOS Universal App

[英]iOS Universal App without storyboard or xib file

我有一个关于通用应用程序的问题。 我的应用程序不会有故事板或xib文件。 没有它可以编写通用的iPhone / iPad应用程序吗? 我找到了一些如何使用 storyboard创建通用应用程序的教程,但我不希望(我不能)在我的项目中使用此功能。

如果有可能我该怎么办? 如果我只需要在ViewControllers中进行更改? 我开始这样做,我不会改变旧项目,所以我可以做任何事情 - 我应该学习什么/我应该记得什么?

我的目标是iOS 5。

编辑:

我在资源文件中有一个屏幕信息,我的rootViewController或任何其他ViewController将在编译时创建,所以我不能有xib文件,我不能把按钮放在xib与Interface Builder因为我甚至没有我知道那里有多少按钮。 我不知道有多少屏幕,直到我在我的项目中运行。

如果没有Interface Builder ,您不仅可以编写任何类型的iOS应用程序,它实际上更加可测试和灵活。 在IB风格项目中,一些auto layout技巧很难(不可能?)。

有一个令人印象深刻的名为Masonry库包含了NSLayoutContraint语法。 这使得子类视图非常令人愉快,而不必使用丑陋的VFL或令人难以置信的详细NSLayoutContraint语法(甚至不会解决帧设置......烦恼!)。 IB风格的应用程序还会促进糟糕的软件开发实践和反模式(只是在视图控制器中呈现所有内容。不需要分离关注!)。 此外,由于合并问题,在使用Nib,Xib和Storyboard时,更难以在更大的团队(IMHO甚至是小团队)上工作。

最重要的是,当您以这种方式编写代码时,您UIResponder深入地了解您正在使用的类( UIViewUIResponder等)(再次恕我直言)。 有一篇有趣的文章更详细地概述了其中一些问题: http//doing-it-wrong.mikeweller.com/2013/06/ios-app-architecture-and-tdd-1.html这绝不是唯一讨论这个问题的文章。 此外,这将有助于您的应用程序委托: 创建一个基于窗口的通用iPhone应用程序,而不生成xib文件

这当然是可能的,我在我发布的许多应用程序中只使用过一次storyborads。 至于不使用XIB,我不确定你为什么要这样做。 您可以在init方法中在运行时布置您的视图,但我觉得这只会让您自己过度努力。 您可以为iPad设置XIB,为iPhone设置一个XIB,这样您就可以专门为每个设备定制UI。

也许如果你详细了解为什么要对自己强加这个要求,我们可以讨论是否值得努力走下去。

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM