Cocoa绘图:从基础到高级技巧
1. LOLView的实现
在Cocoa中进行绘图时,LOLView是一个重要的组件。它具有一些属性,用于存储用户输入的值。为了在值改变时触发重绘,我们需要自己实现setter方法,而不是使用编译器生成的默认setter。由于我们自定义了setter,而让编译器生成getter,所以需要将属性标记为nonatomic。
以下是LOLView的实现代码:
// LOLView.h:
#import <Cocoa/Cocoa.h>
@interface LOLView : NSView
@property (strong, nonatomic) NSImage *image;
@property (copy, nonatomic) NSString *text;
@end
// LOLView.m:
#import "LOLView.h"
@implementation LOLView
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
// Drawing code here.
}
- (void)setImage:(NSImage *)i {
if (![i isEqual:_image]) {
_image = i
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



