首页 > 代码库 > 记录一次模仿storyboard的过程
记录一次模仿storyboard的过程
昨天放学,和老师聊天,他说出去以后,很少有项目用storyboard,一般都是纯代码,于是想把之前学过的模仿storyboard的过程复习一下。
首先,我们需要来到AppDelegate.m这个文件中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个方法中,写入如下代码
UIWindow* window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; [window makeKeyAndVisible]; _window = window; ViewController* controller = [[ViewController alloc]init]; window.rootViewController = controller; return YES;
需要注意的是:
1、要注意导入ViewController.h文件
2、对于ViewController的操作,在对应的.m文件中进行。不要写到这个方法中。
下面,让我们来说一下这里程序都做了什么
1、声明一个UIWindow对象,这里需要注意的是,一定要给UIWindow对象设置frame,否则,无法显示
2、将窗口设置为主窗口,并显示,同样,如果不这样设置,运行得到的是一片黑
3、将成员变量指向这个创建的对象
4、创建一个controller对象
5、将window的根控制器设置为刚才创建的那个控制器
6、返回
下面让我们在扩展一下:
1、app启动过程:
先执行main.m,这里执行了UIApplicationMain,这里第三个参数指定UIApplication类或子类,如果为nil则默认为UIApplication,第四个为代理类名。这里使用了反射机制来获取类名。之后会加载info.plist文件,然后会判断,是否需要storyborad,如果有,则加载,如果没有,则通过上述的方法进行创建。所以,这里我们不能再创建名字包含info的plist文件
2、UIApplication对于每一个app都只有一个,并且是单例
3、这里我们引用一个MJ的图片,来进行说明一下各个类之间的关系
记录一次模仿storyboard的过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。