发现《iphone3开发基础教程》中大部分说的是xib的模板,直接学习中用StoryBoard碰到很多问题,在现有阶段要花很多时间来找度娘聊天,故决定,在这次学习过程中先以xib为主,在自学完后,有了部分基础了,再回过头来以StotyBoard学习一遍。
另发现xcode4.2没有EmptyApplication,在网上也找到了一些,但总有些小问题,后来综合了2个地方方法,问题都没有了。好像不能上传附件,我把整个贴在后面
创建一个基于Windows-BasedApplication ----注:Xcode 4.2.1是创建一个EmptyApplication
解决Empty Application下无MainWindows.xib
详细步骤如下,顺便复习一下:
1.创建Empty application,此时项目中只有一个AppDelegate的类
2.新建文件(New Files),选择User Interface下的Empty 命名为MainWindow
3.打开新建的MainWindow.xib文件
4.将File's Owner的类名修改为UIApplication
5. 在Library中拖放一个Object到图下的位置
6.将该object的类名修改为文件中AppDelegate(非下图DemoAppDelegate,这里貌似必须选择列表已经存在的类名,推测应该是选择基类)的类名(同时还可以给object的Label属性修改为Demo App Delegate)
7.拖放一个Window到左边
8. 在xAppDelegate的h文件中,给window的属性加上IBOutlet
@interface DemoAppDelegate : UIResponder <UIApplicationDelegate>@property (strong, nonatomic)IBOutlet UIWindow *window;@end
9.将File's Owner 和 拖放的Object按照以下方式连接(我是拖到中间哪个windows窗口上才成功的。)
10.在项目属性中,把Main Interface修改成你的xib文件名MainWindow
{11. 在xAppDelegate.m文件中,将
- (BOOL) application:didFinishLaunchingWithOptions:
这个方法全部注释掉} //?这个比较奇怪,一般后面的本实例中的程序都用到了这个方法.
20120314找到了原因,应该是:
去xAppDelegate.m文件把:
//- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//{
// self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// // Override point for customization after application launch.
// self.window.backgroundColor = [UIColor whiteColor];
//
// [self.window addSubview:switchViewController.view];
//
// [self.window makeKeyAndVisible];
// return YES;
//}
给干掉,然后添加一些代码:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[_windowaddSubview:switchViewController.view];
[_windowmakeKeyAndVisible];
}