彻底除掉interface builder, 实际上这个对游戏来说没什么用。
关键点:
1.在info.plistj城去掉Main nib file base name,这样启动时就不要求有nib
2.修改main.m
int retVal = UIApplicationMain(argc, argv, nil, @"app delegate名称");
这里必须指定app delegate,不能写nil了。
3.在app delegate里创建window和view
基本上类似这个,当然mainview和window这两个成员要自己定义
MainView是一个自定义UIView,继承下来的,作为唯一界面。
4.创建自己的UIView。
这样就画了一张jpg图片,当然图片必须放到project里。
view controller就忽略掉了,因为只有一个view,就不用这个了。
下一步就搞清旋转屏幕,永远是横屏显示。
关键点:
1.在info.plistj城去掉Main nib file base name,这样启动时就不要求有nib
2.修改main.m
int retVal = UIApplicationMain(argc, argv, nil, @"app delegate名称");
这里必须指定app delegate,不能写nil了。
3.在app delegate里创建window和view
CGRect screenBounds = [ [ UIScreen mainScreen ] applicationFrame ];
CGRect windowBounds = screenBounds;
windowBounds.origin.y = 0.0;
self.window = [ [ [ UIWindow alloc ] initWithFrame: screenBounds ]
autorelease
];
mainview = [ [ MainView alloc ] initWithFrame: windowBounds ];
[window addSubview:mainview];
[window makeKeyAndVisible];
基本上类似这个,当然mainview和window这两个成员要自己定义
UIWindow *window;
MainView *mainview;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MainView *mainview;
MainView是一个自定义UIView,继承下来的,作为唯一界面。
4.创建自己的UIView。
@interface MainView : UIView {
//CGImageRef image;
UIImage *image;
}
@implementation MainView
- (id)initWithFrame:(CGRect)frame {
NSLog(@"init ");
self = [super initWithFrame:frame];
if(self != nil)
{
// Initialization code
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"bg.jpg" ofType:nil];
UIImage *img = [UIImage imageWithContentsOfFile:imagePath];
image=img;
NSLog(@"init image");
self.backgroundColor = [UIColor blackColor];
self.opaque = YES;
self.clearsContextBeforeDrawing = YES;
}
return self;
}
- (void)drawRect:(CGRect)rect {
[image drawAtPoint:CGPointMake(0, 0)];
}
这样就画了一张jpg图片,当然图片必须放到project里。
view controller就忽略掉了,因为只有一个view,就不用这个了。
下一步就搞清旋转屏幕,永远是横屏显示。