创建cocoa工程
#import <AppKit/AppKit.h>
@interface StyledImageView : NSView
@property (retain) NSImage *mainImage;
@property (retain) NSColor *backgroundColor;
@property (retain) NSColor *borderColor;
@end
//
// StyledImageView.m
// studyCocoa
//
// Created by user on 12-6-28.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "StyledImageView.h"
@implementation StyledImageView
@synthesize mainImage;
@synthesize backgroundColor;
@synthesize borderColor;
-(id) initWithFrame:(NSRect)frame
{
if(self = [super initWithFrame: frame]){
mainImage = [NSImage imageNamed: @"donut"];
}
return self;
}
-(void)drawRect:(NSRect)rect{
NSRect bounds = self.bounds;
[self.backgroundColor set];
NSRectFill( bounds );
CGFloat insetX = NSWidth( bounds) *0.10;
CGFloat insetY = NSHeight(bounds) *0.10;
NSRect imageRect = NSInsetRect(bounds, insetX, insetY);
NSImage *image = [NSImage imageNamed: @"donut.jpg"];
[image drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[self.borderColor set];
NSBezierPath *imageFrame = [NSBezierPath bezierPathWithRect:imageRect];
imageFrame.lineWidth = 4;
[imageFrame stroke];
}
-(void)dealloc{
self.mainImage = nil;
self.backgroundColor = nil;
self.borderColor = nil;
[super dealloc];
}
@end
//
// AppDelegate.m
// studyCocoa
//
// Created by user on 12-6-27.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "AppDelegate.h"
#import "StyledImageView.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)dealloc
{
[super dealloc];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
NSRect viewframe = [self.window.contentView bounds];
// mBasic = [[MyBasic alloc] initWithFrame: viewframe];
// [mBasic text];
// [self.window.contentView addSubview: mBasic];
StyledImageView *imageView;
imageView = [[StyledImageView alloc] initWithFrame:viewframe];
imageView.mainImage = [NSImage imageNamed: @"SpaceShuttle"];
imageView.backgroundColor = [NSColor darkGrayColor];
imageView.borderColor = [NSColor whiteColor];
NSInteger resizeingMask = (NSViewWidthSizable | NSViewHeightSizable);
[imageView setAutoresizingMask: resizeingMask];
[self.window.contentView addSubview: imageView];
[imageView release];
}
@end