A Simpler "Hello World" for the iPhone |
|
|
Although there’s already a “hello world’ floating out there for the iPhone, it involves a number of complicated classes. I decided to simplify and create a new “Hello World” from scratch based only on UIWindow, UIView and UITextView.
The code follows after the jump.
Makefile
CC=arm-apple-darwin-cc
LD=$(CC)
LDFLAGS=-lobjc -framework CoreFoundation -framework Foundation -framework UIKit -framework LayerKit -framework CoreGraphics
all: SampleApp
SampleApp: mainapp.o SampleApp.o
$(LD) $(LDFLAGS) -v -o $@ $^
%.o: %.m
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
rm -f *.o SampleApp
mainapp.m
#import <UIKit/UIKit.h>
#import "SampleApp.h"
int main(int argc, char **argv)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
return UIApplicationMain(argc, argv, [SampleApp class]);
}
SampleApp.h
#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
#import <UIKit/CDStructures.h>
#import <UIKit/UIWindow.h>
#import <UIKit/UIView-Hierarchy.h>
#import <UIKit/UIHardware.h>
#import <UIKit/UIKit.h>
#import <UIKit/UIApplication.h>
#import <UIKit/UITextView.h>
#import <UIKit/UIView.h>
@interface SampleApp : UIApplication {
UIView *mainView;
UITextView *textView;
}
@end
SampleApp.m
#import "SampleApp.h"
@implementation SampleApp
- (void) applicationDidFinishLaunching: (id) unused
{
UIWindow *window;
struct CGRect rect = [UIHardware fullScreenApplicationContentRect];
rect.origin.x = rect.origin.y = 0.0f;
window = [[UIWindow alloc] initWithContentRect: rect];
mainView = [[UIView alloc] initWithFrame: rect];
textView = [[UITextView alloc]
initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)];
[textView setEditable:YES];
[textView setTextSize:14];
[window orderFront: self];
[window makeKey: self];
[window _setHidden: NO];
[window setContentView: mainView];
[mainView addSubview:textView];
[textView setText:@"Hello World"];
}
@end
 |
Read more at MacDevCenter |
|
www.oreillynet.com/mac/blog/2007/08/a_simpler_hello_world_for_the.html?CMP=OTC-13IV03560550&ATT=A+Simpler+Hello+World+for+the+iPhone |
|