Undersöker möjligheten att modifiera fönster och andra visuella klasser i Cocoa. Jag skrev en metod medan jag labbade med NSColorPanel. Den fungerar någon gång, sedan kraschar det.
- (void)awakeFromNib skapar färgpanelen, sätter MyController som target och meddelar färpanelen namnet på dess action.
- (void)actionChangeColor hämtar i båda fallen färgen från färgpanelen och ställer in bakgrundsfärgen på myWindow till den hämtade färgen.
#import "MyController.h"
@implementation MyController
- (void)awakeFromNib
{
myColorPanel = [NSColorPanel sharedColorPanel];
[myColorPanel setTarget:self];
[myColorPanel setAction: NSSelectorFromString(@actionChangeColor)];
[myColorPanel orderFront:nil];
}
- (void)actionChangeColor
{
NSColor *myColor = [[NSColor alloc] init];
myColor = [myColorPanel color];
[myWindow setBackgroundColor: myColor];
[myWindow display];
[myColor release];
}
@end
Cocoa har legat nere för mig ett bra tag, och jag har väl gjort något enkelt fel, för om jag snyggar upp - (void)actionChangeColor så den ser ut som den ska (?)
- (void)actionChangeColor
{
[myWindow setBackgroundColor: [myColorPanel color]];
[myWindow display];
}
Fungerar det utmärkt.
Vad har är det jag inte har förstått?
Vänligen, Ylan