在使用Storyboard管理的iOS应用中,它的组成部分为AppDelegate和ViewController这两个类以及MainStoryboard.storyboard文件组成。
Storyboard编辑器和Interface Builder很像(我觉得,他们其实就是一样的)。Storyboard管理不是一个视图控制器,而是所有的视图控制器。
建立在storyboard上的应用程序,在它启动时,使用 键UIMainStoryboardFile去指定必须被加载的storyboard的名字。
可以看到该类继承自UIResponder,这是使用storybaord的要求,而以前使用使用nib时,应用委托类是直接继承自NSObject的。
当这个设置提供后,UIApplication将加载MainStoryboard.storyboard文件,同时自动实例化来自storyboard的第一个视图控制器,将该视图控制器的视图们放入一个新的UIWindow对象中。这个过程不需编码。
(注:在nib管理的应用程序中,这个过程是需要编码的,加载视图控制器的所属视图和实例化UIWindow对象。)
iOS应用程序在系统上启动的过程是这样:
第一步,用户tap界面上的应用图标
第二步,应用调用main()函数
第三步,main()函数调用UIApplicationMain()函数。(注:在nib管理的应用程序中,最后一个参数是nil;而在storyboard管理的应用程序中,最后一个参数是AppDelegate的类名称。因为nib文件包含了appDelegate的名称,而storyboard中没有,所以必须在UIApplicationMain()中指定appDelegate的名称。)
main.m文件是应用启动的初始文件。打开main.m文件,如下所示:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil,
NSStringFromClass([AppDelegate class]));
}
}
在AppDelegate中,如下所示:
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property ( strong, nonatomic ) UIWindow * window;
@end
而且该类只有一个UIWindow的属性,和nib管理的应用程序不同的是,这里没有IBOutlet前缀。这表示这个属性不是一个输出口。
分享到:
相关推荐
分别使用storyboard、nib和纯代码的方式来实现。 ##1.项目说明 UICollectionView继承自UITableView,基本的实现方式同UITableView。用UICollectionView实现的视图就是所谓的瀑布流界面,很多的电商网站,图片...
http://blog.csdn.net/nagecomeontom/article/details/26848229
相比传统的nib文件,storyboard有很多优点: 1.使用storyboard,可以更好地理解应用中所有视图在概念上的概览以及它们之间的关系。掌控所有的视图变得很容易,因为所有的设计都是在一个文件中,而不是在很多单独的...
如果您的类扩展了此类,您可以使用自定义类在 Storyboard 或 Nib 文件中设置 UIView,它会加载一个类似命名的.xib文件。 例如,如果您构建MyView.xib和MyView.swift ,请将 Interface Builder 中的自定义类设置为...
iOS---IBDesignable-IBInspectable 项目包含一种使用 IBdesignables 和 IBinspectables 将 Nib 文件加载到 StoryBoard 的方法
StoryBoard 是苹果在 iOS 5 中引入的新技术方案,目的是给纷繁复杂的 nib、xib 们一个温暖的家,让他们之间的关系更直观地展示出来,并提供了一种新的页面间跳转方式 segue。 StoryBoard 的本质是一个 XML 文件,...
用法只需将日期范围选择器拖到Storyboard或Nib上即可。 在带有segmentStyle = .Separated的工具栏中,它看起来特别好。 如果希望将选择器放在工具栏的中央,我建议使用TAAdaptiveSpaceItem。 您可以通过键值观察...
只需将日期范围选择器拖到您的Storyboard或Nib上即可。 在带有segmentStyle = .Separated的工具栏中,它看起来特别好。 如果希望将选择器放在工具栏的中央,我建议使用 。 您可以通过键值观察startDate和endDate和/...
资源实例化该框架是实例化Storyboard,Nib和Plist等资源的助手。由迦太基安装创建购物车文件将github "rizumita/ResourceInstantiatable"添加到Cartfile 运行carthage update如何使用故事板class StoryboardsManager...
对iOS工程师来说,撰写view已经是跟阳光空气水一样重要的事情了,目前iOS开发环境所支持的view撰写方式,不外乎两种:纯code利用nib或storyboard等Interface Builder(IB)拖拉虽然使用IB有很多坏处,像是无法code ...
搜索所有源文件夹(.h、.m)和用户界面定义(.xib、.nib Ì .storyboard)。 这将生成一个用于清理的候选列表。 我们现在支持 gif,jpg,png,jpeg 图像文件。 我们现在支持 .storyboard 文件 误报: 由于未扫描 ...
这是演示代码,用于在另一个Xib或Storyboard View Controller上显示您的自定义Xib UIView(不带自动布局) 最重要的UIView基本代码位于或 。 - ( void )xibSetup {# if !TARGET_INTERFACE_BUILDER NSBundle *bundle ...
MLDTabBarNewRepository 新建一个项目,应该包含了基础库,以及TabBar. 项目目录 ├── ...│ ├── NIB: 放置StoryBoard的文件夹 │ ├── BaseClesses: 放置基类的文件夹 | | └── BaseVie
它们提供了一种强大的机制,可以配置NIB,XIB或情节提要中实例的任何键值编码属性。 Apple文件:( ) 要求 ARC , iOS 7+ , Xcode 5 如何使用 在项目中复制文件: APRoundedButton.h APRoundedButton.m 接下来...
本地化NIB LocalizeNIB可帮助您本地化情节提要和XIB文件。 将要本地化的所有内容放到UIViewController localizables插座集合中,LocalizeNIB将对所有内容使用NSLocalizedString 。 不再困扰不可读的组件ID!安装可...
应用程序在启动时(或者从nib文件进行装载)创建这个窗口,并往窗口中加入一或多个视图并显示出来。之后我们很少需要再次引用它。UIWindow对象是所有UIView的根,管理和协调的应用程序的显示。一般应用程序只有一个...
AutoInch - 优雅的iPhone等系列/全尺寸配套工具特征 数值型快速转换 故事板等比例改编 Xib 等比例适应 自定义计算处理 每种屏幕尺寸类型的快速匹配安装CocoaPods - Podfile pod 'AutoInch' 迦太基 - Cartfile github...