Cocoa绘图:从基础到高级技巧
1. LOLView基础设置
在Cocoa开发中,LOLView是一个重要的视图类。它需要包含一些属性来存储用户输入的值,并且每当这些值发生变化时,需要触发重绘操作。为了实现这一点,我们需要自己实现属性的setter方法,而不是使用编译器生成的默认setter。由于我们自定义了setter,同时允许编译器生成getter,所以需要将属性标记为nonatomic。
以下是LOLView.h和LOLView.m的代码:
// 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 (
被折叠的 条评论
为什么被折叠?



