Что я пропущу? цвет не изменится.setBackgroudColor NSView
#import "controller.h"
#import "backgroundView.h"
@implementation controller
-(void)awakeFromNib {
backgroundView *background = [[backgroundView alloc] init];
[background setBackgroudColor:[NSColor whiteColor]];
//also didn't work
//[background setBackgroudColor:[[NSColor whiteColor] retain]];
}
@end
//backgroundView.h
#import <Cocoa/Cocoa.h>
@interface backgroundView : NSView{
NSColor *color;
}
-(void)setBackgroudColor:(NSColor*)newColor;
@end
#import "backgroundView.h"
@implementation backgroundView
-(void)dealloc{
[super dealloc];
}
-(void)setBackgroudColor:(NSColor*)newColor{
color = newColor;
[self setNeedsDisplay:YES];
}
-(void)drawRect:(NSRect)rect{
[color setFill];
NSRectFill(rect);
}
@end
Можете ли вы дать мне пример, как использовать initWithFrame? – user840250
@ user840250: Вы используете его так же, как 'init', но вы передаете ему прямоугольник, который хотите, чтобы представление имело в качестве рамки. Для получения дополнительной информации см. Руководство по программированию View: http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaViewsGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40002978 и NSView ссылка на класс: http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html#//apple_ref/occ/cl/NSView –