如何在 Xcode 4.2 之后建立WindowBased Application
来源:互联网 发布:js webkittransition 编辑:程序博客网 时间:2024/05/22 02:14
因為在參考文章里已經有詳細的图文介紹,所以這裡不再重复,只想提出几点注意事项:
1、ios Appliction是先从UIAppliction开始的,而UIApplication对象建立之后,UIApplication又委托AppDelegate进行具体的UI初始化工作,UI的初始化工作又由AppDelegate的window对象开始,当然,window对象的初始化工作其实是交由rootViewController进行的。即UIApplication -> AppDelegate -> window
2、参考文章是从Empty Project开始的,比对之前的windowBased Template,就发现,少了一个Mainwindow.xib文件,亦即是主要的用户界面,所以要先新建立一个Mainwindow.xib文件,获得一个界面。比对旧的WindowBased Template发现,File‘s Owner之类别需要重新设为上面提到的UIApplication,界面中没有AppDelegate对象,所以要加入一个Object并将其类别改为我们的AppDelegate类别,然后将File‘s Owner的delegate设定为AppDelegate,而AppDelegate.h中附带的window 不是IBOutlet对象,因此要先将其变为IBOutlet对象,再和MainWindow.xib中的window对象要关联起来。这样就基本大功告成了,但实际上,还必须在TARGETS 的Summary中,将main interface 设定为MainWindow!只有这样,你在IB中加入的东西才能正确显示出来。
3、而AppDelegate.m文件中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
}
这一句代码可以remark处理(实际上不影响)。保留这一句代码,而不将main interface 设定为MainWindow,这一句其实可以用于用代码创建自己的UI,改为以下代码,就能显示自己的label:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// 用代码建立自己的label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(160, 230, 60, 40)];
[label setText:@"hello"];
[label setTextColor:[UIColor redColor]];
[self.window addSubview:label];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
实际上,你即使不进行1和2的工作,你一样可以用代码构建自己的UI!!4、其实根据这个原理,亦可以将其他的Application Template改造,不过用Empty Project Template的好处是它在创建时,有core data选项。
- 如何在 Xcode 4.2 之后建立WindowBased Application
- Xcode建立Window based Application
- iOS 【Xcode 6.0.1 之后如何创建 Empty Application(空工程)】
- XCode中如何修改application identifie
- Xcode 6 如何创建一个Empty Application
- Xcode 6 如何创建一个Empty Application
- 在Sun ONE Application Server Platform Edition 8中如何建立SQL Server的连接
- (一)如何建立 Android Application Project
- 在XCode内建立多个Target
- 在XCode内建立多个Target
- 在XCode内建立多个Target
- 如何创建一个Tab bar Application (xcode 4.2中或者代码的方式)
- Xcode如何拖拽选中文字之后拖拽代码
- 如何在Method Swizzling之后如何恢复
- xcode 6.0之后,在项目中手动创建.pch文件
- XCode 4.2 中的 windows-base-Application
- XCode 4.3.2 如何新建 Window-based Application
- Xcode 6 正式版如何创建一个Empty Application
- C# ref out
- 安装完QQ必须要删除掉的几个恐怖文件
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- 解读ExpandableListView源码样式
- 设计公共API的六个注意事项
- 如何在 Xcode 4.2 之后建立WindowBased Application
- attribute 用法 section 部分
- Oracle 9i for linux
- POJ——2506(找规律加大数乘法 )
- SQLite下载与安装
- Activity间跳转传递对象集合List
- OpenStack 谈谈云计算那点事
- java统计字符串中子字符串出现次数
- 百人戴帽子问题