15.4 Lösung: Die Pinselfarbe ändern
Wenn Sie die Eigenschaft alertColor
hinzufügen, müssen Sie ihr Speicherattribut mit copy
angeben, weil NSColor
dem NSCopying
-Protokoll entspricht. Ich habe auch ein NSRect
namens frameRect
als Instanzvariable eingefügt.
CustomView/HelloApplication25/IconView.h
#import <Cocoa/Cocoa.h> @interface IconView : NSView { NSColor *alertColor; NSRect frameRect; } @property(copy) NSColor *alertColor; @end
In der Implementierungsdatei des Views senden wir die set
-Methode an alertColor
und ziehen einen Rahmen um das Rechteck. Ich habe das Rechteck und die Pinselbreite in awakeFromNib
angelegt, damit ich das nicht bei jedem Aufruf von drawRect:
machen muss.
CustomView/HelloApplication25/IconView.m
#import "IconView.h" @implementation ...
Get Cocoa-Programmierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.