使用Storyboard的替代方法是什么?

时间:2013-11-18 00:35:07

标签: ios iphone

所以我刚刚开始开发iPhone应用程序而且我被告知不要使用Storyboard。我已经读过替代方案是使用xib文件 - 任何人都可以推荐使用xib文件的好教程吗?

由于

2 个答案:

答案 0 :(得分:4)

故事板是Xcode和Cocoa的一个相对较新的功能。到达Xcode 4.2

enter image description here

几十年来(见history),NeXTSTEP / OpenStep / Cocoa程序员一直在构建单独的nib / xib文件,并使用ViewControllers加载它们。当用户执行某些操作以使应用程序移动到下一个nib / xib时,当前视图控制器将实例化另一个加载其所需nib / xib的视图控制器。然后,新的视图控制器将显示在屏幕上。

故事板不是魔术。它们只是减少了一点编程负担,处理从一个视图控制器加载和显示另一个视图控制器。他们仍然在下面使用相同的nib / xib技术,你只是不太了解它。将Storyboard视为自动管理的xib集合。 nib / xib的超集,而不是替换。

在iOS中,我们经常通过将新视图控制器推到UINavigationController堆栈上来获取新视图控制器。 Back 按钮自动显示为关闭当前视图控制器并返回上一个视图控制器。

故事板有利有弊。对于具有特定视图流的相对简单的应用程序,它们可以很方便。

但有理由不使用它们。一个原因是,如果从视图移动到视图有点武断,并且不容易在故事板中进行布局。另一个原因是某些视图更容易在运行时以编程方式完成,而不是定义任何nib / xib。通常,这样的视图仅具有一个或非常少的组件。 UIListView和UIWebView是可以填充屏幕的单个小部件的两个示例,因此可以更方便地在代码中创建。

教程和书籍比比皆是。有些人展示了Storyboard和非Storyboard的做事方式。寻找一些较旧的iOS 5或6本书,以查看更多非故事板方式。

一些新文章和Apple文档可能会推动Storyboard,因为它们是新鲜事物。我建议采取更加谨慎的方法。而不是说故事板是最伟大的事情或说故事板是可怕的,而不是将它们视为另一种工具。有时您可能想要使用它们,有时它们不能最佳地满足您的需求。您也可以将它们混合在一起,使用故事板进行部分应用,而不使用。

答案 1 :(得分:1)

您可以使用故事板(.storyboard文件),使用旧的界面构建器(.xib文件)或以编程方式执行所有操作。

我建议使用故事板,使事情更容易,写作更少,故事板类似于界面构建器和我的观点,在创建iOS应用程序时,它比旧的界面构建器更好。你仍然可以通过编程方式做很多事情,例如更改故事板等中创建的对象的属性。

所以,如果有人说,不要使用故事板,这是他/她的意见,我建议你试一试并对此发表自己的看法。