在Xcode4.2中没有了window-base模板和MainWindow.xib,但是怎么样才能实现模板之间的切换呢?我们可以使用Empty-Application来实现,具体实现步骤如下:
1、我们创建一个基于Empty-Application模板的工程。
2、右键项目名:(这里我们为项目起的名字为test)。
3、选择New File⋯⋯打开新建窗口,选择UIViewController subclass模板进行view的创建。
我们命名为:windowViewController.完成后就开始了我们的代理设置了。
4、打开AppDelegate.h文件,进行类的声明和对象的声明:
#import <UIKit/UIKit.h>
@class windowViewController; //声明类
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
windowViewController *viewController; //对象声明
}
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) IBOutlet windowViewController *viewController; //属性设置
@end
加注释部分是我们需要手动添加的。
5、完成后我们打开AppDelegate.m文件,进行实现操作:
#import "AppDelegate.h"
#import "windowViewController.h" //引入视图文件
@implementation AppDelegate
@synthesize window = _window;
@synthesize viewController; //与@property对应
- (void)dealloc
{
[_window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
//为应用程序创建一个新的视图,并制定视图的名字
viewController = [[windowViewController alloc]initWithNibName:@"windowViewController" bundle:nil];
//将视图添加到窗体中
[self.window addSubview:viewController.view];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
至此,我们的编码过程就完成了。程序也可以运行结束了,但是为了方便查看效果,我们需要在xib界面视图中添加一个标签。
6、打开 windowViewController.xib文件,拖动一个label控件,可以任意命名,但是不能为空,负责看不出效果,当然你也可以拖放一个别的控件。
7、完成后我们运行程序即可。程序效果图:
这样就结束了,我们可以在一个Window中添加多个view,来进行多view操作实现等。